{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "view-in-github"
   },
   "source": [
    "<a href=\"https://colab.research.google.com/github/CoreTheGreat/HBPU-Machine-Learning-Course/blob/main/ML_Chapter4_Clustering.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "lPboLx_o0UxI"
   },
   "source": [
    "# 第四章：聚类\n",
    "湖北理工学院《机器学习》课程资料\n",
    "\n",
    "作者：李辉楚吴\n",
    "\n",
    "笔记内容概述: 电影评分分析中的聚类问题及应用\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "WYv0kOOZWEaT"
   },
   "source": [
    "Moves Data File Structure (movies.csv)\n",
    "\n",
    "Genres: (no genres listed), 动作（Action）, 冒险（Adventure）, 动画（Animation）, 儿童（Children）, 喜剧（Comedy）, 犯罪（Crime）, 纪录片（Documentary）, 剧情（Drama）, 奇幻（Fantasy）, 黑色电影（Film-Noir）, 恐怖（Horror）, IMAX, 音乐（Musical）, 推理（Mystery）, 爱情（Romance）, 科幻（Sci-Fi）, 惊悚（Thriller）, 战争（War）, 西部（Western）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "1JbjUpmKUhuv",
    "outputId": "0fb8b51a-97ed-4855-cb89-71528b2d08ed"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Movie number: 9742\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>movieId</th>\n",
       "      <th>title</th>\n",
       "      <th>genres</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Toy Story (1995)</td>\n",
       "      <td>Adventure|Animation|Children|Comedy|Fantasy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>Jumanji (1995)</td>\n",
       "      <td>Adventure|Children|Fantasy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>Grumpier Old Men (1995)</td>\n",
       "      <td>Comedy|Romance</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>Waiting to Exhale (1995)</td>\n",
       "      <td>Comedy|Drama|Romance</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Father of the Bride Part II (1995)</td>\n",
       "      <td>Comedy</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   movieId                               title  \\\n",
       "0        1                    Toy Story (1995)   \n",
       "1        2                      Jumanji (1995)   \n",
       "2        3             Grumpier Old Men (1995)   \n",
       "3        4            Waiting to Exhale (1995)   \n",
       "4        5  Father of the Bride Part II (1995)   \n",
       "\n",
       "                                        genres  \n",
       "0  Adventure|Animation|Children|Comedy|Fantasy  \n",
       "1                   Adventure|Children|Fantasy  \n",
       "2                               Comedy|Romance  \n",
       "3                         Comedy|Drama|Romance  \n",
       "4                                       Comedy  "
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "movies = pd.read_csv('./Data/movies.csv')\n",
    "print(f'Movie number: {len(movies)}')\n",
    "movies.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Movie genres: ['(no genres listed)' 'Action' 'Adventure' 'Animation' 'Children' 'Comedy'\n",
      " 'Crime' 'Documentary' 'Drama' 'Fantasy' 'Film-Noir' 'Horror' 'IMAX'\n",
      " 'Musical' 'Mystery' 'Romance' 'Sci-Fi' 'Thriller' 'War' 'Western']\n"
     ]
    }
   ],
   "source": [
    "# Statistic genres\n",
    "genres_list = []\n",
    "for genres in movies['genres']:\n",
    "    genres_list.extend(genres.split('|'))\n",
    "genres_list = np.sort(np.unique(genres_list))\n",
    "print(f'Movie genres: {genres_list}')\n",
    "\n",
    "label_size = 18 # Label size\n",
    "ticklabel_size = 14 # Tick label size"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XLSroDN4Y7CY"
   },
   "source": [
    "Rating Data File Structure (ratings.csv)\n",
    "\n",
    "Each line of this file after the header row represents one rating of one movie by one user, and has the following format:\n",
    "\n",
    "userId, movieId, rating, timestamp\n",
    "\n",
    "Ratings are made on a 5-star scale, with half-star increments (0.5 stars - 5.0 stars).\n",
    "\n",
    "Timestamps represent seconds since midnight Coordinated Universal Time (UTC) of January 1, 1970."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 224
    },
    "id": "05vhvNwyUujv",
    "outputId": "3c3085a2-7acc-4f0c-df1c-7b343ff71aae"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "610 have provided 100836 rate records\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userId</th>\n",
       "      <th>movieId</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>964982703</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>964981247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>4.0</td>\n",
       "      <td>964982224</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>47</td>\n",
       "      <td>5.0</td>\n",
       "      <td>964983815</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>50</td>\n",
       "      <td>5.0</td>\n",
       "      <td>964982931</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   userId  movieId  rating  timestamp\n",
       "0       1        1     4.0  964982703\n",
       "1       1        3     4.0  964981247\n",
       "2       1        6     4.0  964982224\n",
       "3       1       47     5.0  964983815\n",
       "4       1       50     5.0  964982931"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ratings = pd.read_csv('./Data/ratings.csv')\n",
    "user_list = np.sort(np.unique(ratings['userId']))\n",
    "print(f'{len(user_list)} have provided {len(ratings)} rate records')\n",
    "ratings.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "fdYsKkr4gD1d"
   },
   "source": [
    "### 用DBSCAN进行聚类，分析主要用户群体\n",
    "\n",
    "统计用户对各种电影类型的喜爱程度，即计算用户对各类电影的平均分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "kK7lw-OTEqM3",
    "outputId": "508f6d21-f647-4ab0-a497-12cd075d7330"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_3956\\4084477273.py:37: RuntimeWarning: invalid value encountered in divide\n",
      "  user_genres_rate = user_genres_rate / user_genres_rate_counts\n"
     ]
    }
   ],
   "source": [
    "# Create an array to save rates of all genres\n",
    "user_genres_rate = np.zeros((len(user_list), len(genres_list)))\n",
    "\n",
    "# Create an array to save movie rating counts of all genres\n",
    "# To compute average rates\n",
    "user_genres_rate_counts = np.zeros((len(user_list), len(genres_list)))\n",
    "\n",
    "for i in range(len(ratings)):\n",
    "    # User ID start from 1\n",
    "    # Convert user ID to user_idx by minus 1\n",
    "    user_idx = int(ratings.iloc[i]['userId'] - 1)\n",
    "    \n",
    "    # Get rate\n",
    "    rate = ratings.iloc[i]['rating']\n",
    "\n",
    "    # Get target movie\n",
    "    movie_id = ratings.iloc[i]['movieId']\n",
    "\n",
    "    # Split movie genres string\n",
    "    genres_type = movies[movies['movieId'] == movie_id]['genres'].values[0]\n",
    "    genres_type = genres_type.split('|')\n",
    "\n",
    "    # Statistic rates of movie genres\n",
    "    for genres in genres_type:\n",
    "        # Using '[0][0]' to get index from a list tuple\n",
    "        # First [0] get the index list outputed by np.where()\n",
    "        # Second [0] get the first item of list (with single item)\n",
    "        genres_idx = np.where(genres_list == genres)[0][0]\n",
    "\n",
    "        # Sum rate\n",
    "        user_genres_rate[user_idx, genres_idx] += rate\n",
    "        \n",
    "        # Count movie number of the genres\n",
    "        user_genres_rate_counts[user_idx, genres_idx] += 1\n",
    "\n",
    "# Compute genres rates of all users\n",
    "user_genres_rate = user_genres_rate / user_genres_rate_counts"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用散点图展示动作电影（Action）和动画电影（Animation）的用户喜爱情况\n",
    "\n",
    "可选电影类型: \n",
    "\n",
    "'(no genres listed)' 'Action' 'Adventure' 'Animation' 'Children' 'Comedy'\n",
    "\n",
    "'Crime' 'Documentary' 'Drama' 'Fantasy' 'Film-Noir' 'Horror' 'IMAX'\n",
    "\n",
    "'Musical' 'Mystery' 'Romance' 'Sci-Fi' 'Thriller' 'War' 'Western'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "KaY4gClVJB6v",
    "outputId": "8527cef2-c3bb-4ca0-e584-9e328a88d557"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of users who watched both Action and Animation: 526\n",
      "Shape of x: (526, 2)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "genres_1 = 'Action' # Define first genres\n",
    "genres_2 = 'Animation' # Define second genres\n",
    "\n",
    "idx_g1 = np.where(genres_list == genres_1)[0][0] # Get genres 1 index in the genres_list\n",
    "idx_g2 = np.where(genres_list == genres_2)[0][0] # Get genres 2 index in the genres_list\n",
    "\n",
    "# Get list of user who have watched movies including both genres_1 and genres_2\n",
    "# Idea: People who have watched related movies are more credible in determining whether they like them or not.\n",
    "idx_both = np.where(np.logical_and(user_genres_rate[:,idx_g1] > 0, user_genres_rate[:,idx_g2] > 0))[0]\n",
    "print(f'Number of users who watched both {genres_1} and {genres_2}: {len(idx_both)}')\n",
    "\n",
    "# Filter rating information of users who have watched both genres_1 and genres_2\n",
    "x = user_genres_rate[idx_both][:, [idx_g1, idx_g2]]\n",
    "print(f'Shape of x: {x.shape}')\n",
    "\n",
    "# Drawing rates distribution by scatter figure\n",
    "fig, ax = plt.subplots(figsize=(6,6))\n",
    "\n",
    "ax.scatter(x[:,0], x[:,1], marker=\"o\", c='white', s=10**2, edgecolor=\"k\")\n",
    "\n",
    "ax.tick_params(axis='both', which='major', labelsize=ticklabel_size) # Set tick label size\n",
    "ax.set_xlabel(f'Average rate of {genres_1}', fontsize=label_size)\n",
    "ax.set_ylabel(f'Average rate of {genres_2}', fontsize=label_size)\n",
    "ax.set_xlim([-0.1, 5.1])\n",
    "ax.set_ylim([-0.1, 5.1])\n",
    "ax.tick_params(axis='both', which='major', labelsize=ticklabel_size) # Set tick label size\n",
    "# plt.savefig(f'rate_of_interested_movies.png', dpi=300) # Make figure clearer\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用曼哈顿距离计算各点之间的距离矩阵\n",
    "\n",
    "* 可用循环的方式实现，但是运行速度比较慢"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The shape of x_exp is (526, 1, 2)\n",
      "The shape of x_diff (526, 526, 2)\n",
      "The shape of distance_map (526, 526)\n"
     ]
    }
   ],
   "source": [
    "# Convert x to 3-D by adding a new axis\n",
    "x_exp = x[:, np.newaxis]\n",
    "print('The shape of x_exp is', x_exp.shape)\n",
    "\n",
    "# Compute diff vector matrix by numpy's broadcast machanism\n",
    "x_diff = x[:, np.newaxis] - x\n",
    "print('The shape of x_diff', x_diff.shape)\n",
    "\n",
    "# Sum difference to compute Manhattan distance\n",
    "distance_map = np.abs(x_diff).sum(axis=2)\n",
    "print('The shape of distance_map', distance_map.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制min-pts为3时的k-Distance图，判断合适的eps所处区间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 551
    },
    "id": "TGSPq0ZlwU_V",
    "outputId": "851d99ed-fc4e-4768-e9ad-78e6c0b624a3"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA20AAAIcCAYAAABl+0YaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABpo0lEQVR4nO3de1xVVf7/8fc+IAdFOICkYKmYWnnJe5RaqWliOpbT1VulZmU1l24zZWnIqNk085vp29fKvllqOmZ+y2bGLmqlaKBmRd4ii/yieUGLFFAUENi/P5xzBDnggXPgbDiv5+NxHg/Ze+2918E9j+ntWuuzDNM0TQEAAAAALMnm7w4AAAAAAKpGaAMAAAAACyO0AQAAAICFEdoAAAAAwMIIbQAAAABgYYQ2AAAAALAwQhsAAAAAWBihDQAAAAAsLNjfHQg0ZWVlOnTokMLDw2UYhr+7AwAAAMBPTNPU8ePH1bp1a9lsVY+nEdrq2aFDh9SmTRt/dwMAAACARezfv18XXXRRlecJbfUsPDxc0pm/mIiICD/3BgAAAIC/5Ofnq02bNq6MUBVCWz1zTomMiIggtAEAAAA477IpCpEAAAAAgIUR2gAAAADAwghtAAAAAGBhhDYAAAAAsDBCGwAAAABYGKENAAAAACyM0AYAAAAAFkZoAwAAAAALI7QBAAAAgIUR2gAAAADAwhpMaFu6dKnuv/9+9e3bV3a7XYZhaNGiRTW6x6BBg2QYRrWfJUuWVLgmPj6+yrZTp0714TcEAAAAgMqC/d0BT02fPl379u1TTEyM4uLitG/fvhrfY+LEiRo0aFCl46dPn9bcuXNls9k0ZMiQSucdDocefvjhSsf79u1b4z4AAAAAQE00mNC2YMECderUSe3atdNzzz2nadOm1fgeEydOdHv83XfflWmaGjFihFq3bl3pfGRkpGbOnFnj5wEAAACAtxpMaBs6dGid3XvBggWSpHvuuafOnmE1pWWmtmYd1U/HC9UyPFQJ7aMVZDP83S0AAAAA52gwoa2uHDhwQGvXrlVsbKxGjhzptk1RUZEWL16sgwcPKioqSv3791ePHj3quae+s3pXtpJXZSg7r9B1LM4RqqRRXTS8W5wfewYAAADgXAEf2hYuXKiysjJNnDhRwcHufx2HDx+uNLVy+PDhWrJkiWJiYqq9f1FRkYqKilw/5+fne91nb6zela0HlqbLPOf44bxCPbA0Xa9M6E1wAwAAACykwVSPrAumaWrhwoWSqp4aOXnyZKWkpOjnn39Wfn6+tmzZohtuuEGrV6/WjTfeKNM8N/5UNHfuXDkcDtenTZs2Pv8eniotM5W8KqNSYJPkOpa8KkOlZdV/JwAAAAD1J6BD27p165SVlaWBAweqY8eObts888wzGjhwoGJiYhQeHq4rr7xS77//vq6++mpt3rxZH374YbXPmDZtmvLy8lyf/fv318VX8cjWrKMVpkSey5SUnVeorVlH669TAAAAAKoV0KHNWYBkypQpNbrOZrNp0qRJkqS0tLRq29rtdkVERFT4+MtPx6sObLVpBwAAAKDuBWxoO3bsmN577z1FRkbqlltuqfH1zrVsJ0+e9HXX6kzL8FCftgMAAABQ9wI2tC1dulRFRUUaP368mjZtWuPrP//8c0lSfHy8j3tWdxLaRyvOEaqqCvsbOlNFMqF9dH12CwAAAEA1GmVoy8nJ0e7du5WTk1Nlm9dff11S9XuzZWRkKDc3t9Lx1NRU/e1vf5PdbtfNN9/sdX/rS5DNUNKoLm7POYNc0qgu7NcGAAAAWEiDKfm/YMECpaamSpJ27tzpOpaSkiJJGj16tEaPHi1JmjdvnpKTk5WUlKSZM2dWutdXX32l7du3q3fv3urVq1eVz1yxYoWef/55DRkyRPHx8bLb7dq1a5fWrl0rm82m+fPnq23btj79nnVteLc4vTKht2b86xv9fPzsVgSx7NMGAAAAWFKDCW2pqalavHhxhWNpaWmuQiDx8fGu0HY+zlG28xUgGTx4sL799lulp6drw4YNKiwsVKtWrXTHHXfokUceUUJCQs2/iAUM7xanLq0duvb59Qq2GVpyz5VKaB/NCBsAAABgQYZ5vo3G4FP5+flyOBzKy8vzayXJ7LxT6jd3nUKCbPp+zg1+6wcAAAAQqDzNBo1yTRvOz2acGVUrI7MDAAAAlkZoC1D/yWyENgAAAMDiCG0B6uxIm587AgAAAKBahLYA5QxtksSyRgAAAMC6CG0BqnyhyFKG2wAAAADLIrQFKKPcSBuZDQAAALAuQluAKr8nG8VIAAAAAOsitAWo8tMjyWwAAACAdRHaApTNYKQNAAAAaAgIbQGqXGYjtAEAAAAWRmgLUDYKkQAAAAANAqEtQLFPGwAAANAwENoClK3C9Ej/9QMAAABA9QhtAcqgEAkAAADQIBDaAphztI3QBgAAAFgXoS2AOde1kdkAAAAA6yK0BTBnaGOkDQAAALAuQlsAM1zTI/3bDwAAAABVI7QFMNdIG6kNAAAAsCxCWwBzFiJhdiQAAABgXYS2AMaaNgAAAMD6CG0BzKDkPwAAAGB5hLYAZrM5R9r83BEAAAAAVSK0BbCz+7SR2gAAAACrIrQFMBsl/wEAAADLI7QFMINCJAAAAIDlEdoCmI1CJAAAAIDlEdoC2Nk1bX7uCAAAAIAqEdoCGPu0AQAAANZHaAtgBoVIAAAAAMsjtAUwRtoAAAAA6yO0BTBnIRL2aQMAAACsi9AWwM6OtPm5IwAAAACqRGgLYK41baQ2AAAAwLIIbQGMkTYAAADA+ghtAezsPm2kNgAAAMCqCG0BjJL/AAAAgPUR2gIYJf8BAAAA6yO0BTDbf/72CW0AAACAdRHaAtjZNW1+7ggAAACAKhHaApjxn9BWyqI2AAAAwLIIbQHM5ipEQmgDAAAArIrQFsDYpw0AAACwPkJbAHOOtLFPGwAAAGBdhLYAxkgbAAAAYH0NJrQtXbpU999/v/r27Su73S7DMLRo0aIa3SMlJUWGYVT52bJli9vrvvjiC40YMUJRUVEKCwtTQkKCli1b5oNv5V/s0wYAAABYX7C/O+Cp6dOna9++fYqJiVFcXJz27dtX63sNHDhQgwYNqnT8oosuqnQsJSVFiYmJCgkJ0ZgxY+RwOLRy5UqNHz9ee/fu1VNPPVXrfvgb+7QBAAAA1tdgQtuCBQvUqVMntWvXTs8995ymTZtW63sNGjRIM2fOPG+7kpISTZkyRYZhaOPGjerVq5ckKSkpSf369VNSUpJuu+02derUqdZ98Sf2aQMAAACsr8FMjxw6dKjatWtXr89ct26d9uzZo3HjxrkCmySFh4drxowZKikp0cKFC+u1T75kMD0SAAAAsLwGM9LmS5mZmXrxxRd18uRJtWvXTtdff71iYmIqtUtJSZEkDRs2rNI557ENGzbUaV/r0tl92vzbDwAAAABVC8jQtmzZsgqFRJo2bark5GT94Q9/qNAuMzNTktxOf4yKilJMTIyrTVWKiopUVFTk+jk/P9+brvsUhUgAAAAA62sw0yN94YILLtBf/vIXffvttyooKNDBgwe1dOlSRUdH649//KNeffXVCu3z8vIkSQ6Hw+39IiIiXG2qMnfuXDkcDtenTZs2vvkyPsA+bQAAAID1BVRo69q1qx5//HFddtllatasmVq3bq3x48dr9erVCgkJUVJSksrKynz6zGnTpikvL8/12b9/v0/v7w2DfdoAAAAAywuo0FaVbt266corr9SRI0f0ww8/uI47R9iqGk3Lz8+vchTOyW63KyIiosLHKs6uaSO1AQAAAFZFaPsPZyGSkydPuo4517K5W7d27Ngx5eTkNNhy/1L5NW1+7ggAAACAKhHadGY/tvT0dBmGobZt27qODxw4UJK0du3aStc4jznbNERn92kjtQEAAABW1ShDW05Ojnbv3q2cnJwKxzdv3lwpoJSUlOgPf/iD9u3bp8TEREVHR7vODRkyRBdffLGWLVumbdu2uY4fP35cs2bNUnBwsCZOnFiXX6VOGc7pkQy1AQAAAJbVYEr+L1iwQKmpqZKknTt3uo4591IbPXq0Ro8eLUmaN2+ekpOTlZSUpJkzZ7ruMXbsWBmGof79++vCCy9Ubm6uNm7cqO+++05t27bV/PnzKzwzODhYCxYsUGJioq655hqNHTtWERERWrlypbKysjR79mxdcskldf7d6wrTIwEAAADrazChLTU1VYsXL65wLC0tTWlpaZKk+Ph4V2irygMPPKDVq1crJSVFOTk5Cg4OVseOHfX000/rscceU1RUVKVrBg8erNTUVCUlJWnFihUqLi5W165dNWvWLI0fP95n388fKEQCAAAAWJ9hsqCpXjkrTubl5fm9kuSjb2/Tyq8P6ukRnXXvtRf7tS8AAABAoPE0GzTKNW3wzNl92sjtAAAAgFUR2gLY2emR/u0HAAAAgKoR2gKYjZE2AAAAwPIIbQHM9p+/fZY1AgAAANZFaAtgBiX/AQAAAMsjtAUwSv4DAAAA1kdoC2Bsrg0AAABYH6EtgDlDG2vaAAAAAOsitAUwg+mRAAAAgOUR2gIY0yMBAAAA6yO0BTAKkQAAAADWR2gLYGfXtPm5IwAAAACqRGgLYK592pgfCQAAAFgWoS2AnZ0e6d9+AAAAAKgaoS2AnS1EQmoDAAAArIrQFsCcI23s0wYAAABYF6EtgDnXtJUS2gAAAADLIrQFMPZpAwAAAKyP0BbAmB4JAAAAWB+hLYDZbM6S/37uCAAAAIAqEdoCmOEq+c9IGwAAAGBVhLYAxpo2AAAAwPoIbQEs6D+hjTVtAAAAgHUR2gIY0yMBAAAA6yO0BTCmRwIAAADWR2gLYDZG2gAAAADLI7QFMGfJfzIbAAAAYF2EtgBmuKZHktoAAAAAqyK0BTCmRwIAAADWR2gLYBQiAQAAAKyP0BbAnCNt7NMGAAAAWBehLYAZjLQBAAAAlkdoC2A2CpEAAAAAlkdoC2BnC5H4tx8AAAAAqkZoC2DOkTbWtAEAAADWRWgLYAYl/wEAAADLI7QFMNeatjI/dwQAAABAlQhtAYxCJAAAAID1EdoC2Nl92vzbDwAAAABVI7QFMIORNgAAAMDyCG0BzEYhEgAAAMDyCG0B7OyaNj93BAAAAECVCG0BzPafv332aQMAAACsi9AWwAxG2gAAAADLI7QFMEr+AwAAANbXYELb0qVLdf/996tv376y2+0yDEOLFi2q0T1SU1P12GOPqU+fPmrRooVCQ0N12WWX6YknnlBubq7ba+Lj42UYhtvP1KlTvf9ifnS2EIl/+wEAAACgasH+7oCnpk+frn379ikmJkZxcXHat29fje9x6623KicnR1dffbXuuusuGYahlJQUPf/883r33Xe1adMmtWzZstJ1DodDDz/8cKXjffv2rc1XsQznSBtr2gAAAADrajChbcGCBerUqZPatWun5557TtOmTavxPR555BHdddddiouLcx0zTVMPPfSQXnnlFSUnJ+ull16qdF1kZKRmzpzpTfctyaDkPwAAAGB5DWZ65NChQ9WuXTuv7vHEE09UCGzSmWIcM2bMkCRt2LDBq/s3NJT8BwAAAKyvwYy01aUmTZpIkoKD3f86ioqKtHjxYh08eFBRUVHq37+/evToUZ9drBMUIgEAAACsj9Am6Y033pAkDRs2zO35w4cPa+LEiRWODR8+XEuWLFFMTEy19y4qKlJRUZHr5/z8fO8660POQiRkNgAAAMC6Gsz0yLqybds2JScnq2XLlvrjH/9Y6fzkyZOVkpKin3/+Wfn5+dqyZYtuuOEGrV69WjfeeON5i3jMnTtXDofD9WnTpk1dfZUaMxhpAwAAACwvoENbVlaWfvWrX6m0tFTLly93O2r2zDPPaODAgYqJiVF4eLiuvPJKvf/++7r66qu1efNmffjhh9U+Y9q0acrLy3N99u/fX1dfp8acI22lLGoDAAAALCtgQ9u+ffs0ePBg/fzzz3rnnXc0ePBgj6+12WyaNGmSJCktLa3atna7XRERERU+VnG25L+fOwIAAACgSgEZ2vbu3atBgwbp0KFDWrFihX71q1/V+B7OUbmTJ0/6unv1hkIkAAAAgPUFXCGS8oHt7bff1k033VSr+3z++eeSpPj4eB/2rn6xTxsAAABgfY1ypC0nJ0e7d+9WTk5OhePOwHbw4EEtX75cv/71r6u9T0ZGhnJzcysdT01N1d/+9jfZ7XbdfPPNvux6vWKfNgAAAMD6GsxI24IFC5SamipJ2rlzp+tYSkqKJGn06NEaPXq0JGnevHlKTk5WUlKSZs6c6brHoEGDtG/fPl111VXasWOHduzYUek55duvWLFCzz//vIYMGaL4+HjZ7Xbt2rVLa9eulc1m0/z589W2bds6+b71wfafyH6+CpgAAAAA/KfBhLbU1FQtXry4wrG0tDRXIZD4+HhXaKvKvn37JElbtmzRli1b3LYpH9oGDx6sb7/9Vunp6dqwYYMKCwvVqlUr3XHHHXrkkUeUkJBQ+y9kAYy0AQAAANZnmAyz1Kv8/Hw5HA7l5eX5vZLkDz8d19C/bVRksyba9oz7jcUBAAAA1A1Ps0GjXNMGz7hG2hhqAwAAACyL0BbA2KcNAAAAsD5CWwBjnzYAAADA+ghtAezsPm3+7QcAAACAqhHaApjNxkgbAAAAYHWEtgD2n8zGmjYAAADAwghtAYw1bQAAAID1EdoC2Nk1bYQ2AAAAwKoIbQHs7EibnzsCAAAAoEqEtgDmDG2SZDLaBgAAAFgSoS2A2c5mNkbbAAAAAIsitAUwo9xIG+vaAAAAAGsitAWwiiNthDYAAADAightAazimjY/dgQAAABAlQhtAczG9EgAAADA8ghtAcygEAkAAABgeYS2AMZIGwAAAGB9hLYAVr4QiVnmv34AAAAAqBqhLYAx0gYAAABYH6EtgBmU/AcAAAAsj9AWwAzDcAU3CpEAAAAA1kRoC3DOKZImI20AAACAJQX76kYnT57UggULtGbNGu3bt0+nTp3Snj17XOfz8vL0wQcfyDAMjR071lePhZdshlQqRtoAAAAAq/JJaNu2bZtuuukmHThwwDViY5RfMCUpIiJCc+bM0e7du3XxxRfryiuv9MWj4aUzf08ma9oAAAAAi/J6euQvv/yikSNHav/+/erdu7f++te/KiIiolI7wzB0zz33yDRN/fOf//T2sfARm2tNG6ENAAAAsCKvQ9sLL7yg7OxsDRkyRJ9//rkeffRRNW3a1G3bkSNHSpLWr1/v7WPhI2fXtPm5IwAAAADc8jq0rVq1SoZh6Pnnn5fNVv3tLr30UjVp0kQ//PCDt4+FjzhDGyNtAAAAgDV5Hdr27NmjkJAQ9ezZ06P2ERERys/P9/ax8BFK/gMAAADW5nVoKysrU3BwcKXCI1W1PX78uMLCwrx9LHzEOdJWSmoDAAAALMnr0BYXF6eTJ0/qp59+Om/bLVu2qLi4WPHx8d4+Fj7iLETCPm0AAACANXkd2q699lpJ0uLFi6ttV1ZWphkzZsgwDA0ZMsTbx8JHzq5p83NHAAAAALjldWj73e9+J0maM2eOUlJS3LbZv3+/Ro8erfXr1ysoKEgPPvigt4+FjxgUIgEAAAAszevQ1rNnT02fPl35+fkaOnSorrrqKlehkYceekjXXnutOnTooA8++ECSNHfuXF188cXePhY+wj5tAAAAgLUF++ImycnJioqK0vTp07V161bX8fnz57vWSjVt2lTPPfecfvvb3/rikfAR9mkDAAAArM0noU2SHn74Yd155536xz/+odTUVB06dEilpaWKjY3VgAEDdOedd6pVq1a+ehx8hJE2AAAAwNp8FtokqUWLFvrd737nWucG6zMoRAIAAABYmtdr2tCw2f7zBjDSBgAAAFiT16GtuLhYO3bs0O7du8/bdvfu3dqxY4dOnz7t7WPhA6VlpopLyiRJOw/kssE2AAAAYEFeh7a3335bvXr10gsvvHDetnPmzFGvXr30zjvvePtYeGn1rmxd/ed1OpJfJElK+neGrv7zOq3ele3nngEAAAAoz+vQ9u6770qS7rzzzvO2veeee2SaJqHNz1bvytYDS9OVnVdY4fjhvEI9sDSd4AYAAABYiNehbdeuXZKkHj16nLdtnz59JEk7d+709rGopdIyU8mrMuRuIqTzWPKqDKZKAgAAABbhdWg7dOiQHA6Hmjdvft624eHhioyMVHY2Izn+sjXraKURtvJMSdl5hdqadbT+OgUAAACgSl6HtpCQEJ06dcqjtqZp6tSpU64y86h/Px2vOrDVph0AAACAuuV1aGvfvr2Ki4u1efPm87bdtGmTioqK1K5dO28fi1pqGR7q03YAAAAA6pbXoe3666+XaZp68sknVVJSUmW7kpISTZs2TYZhaNiwYd4+FrWU0D5acY5QVTfWaTOkYwXF9dYnAAAAAFXzOrT97ne/U2hoqFJTUzV06FB9/fXXldqkp6dryJAhSk1Nld1u1+9///saP2fp0qW6//771bdvX9ntdhmGoUWLFtX4PmVlZZo3b566d++upk2b6oILLtDtt9+uzMzMKq/54osvNGLECEVFRSksLEwJCQlatmxZjZ9tBUE2Q0mjulTbpsyUHlpGFUkAAADACgzTNL0uE7hkyRJNnDjR9XNsbKzatWsnwzCUlZWlI0eOyDRNGYahxYsXa8KECTV+Rnx8vPbt26eYmBiFhYVp3759WrhwYYXneuK+++7Ta6+9pi5dumjkyJE6cuSI3n77bYWGhmrTpk3q0qVioElJSVFiYqJCQkI0ZswYORwOrVy5UllZWZozZ46eeuqpGj0/Pz9fDodDeXl5ioiIqNG1vvThjkP6zVtfq6oikYakWEeoUp+4TkE21iACAAAAvuZpNvB6pE06s0fbqlWr1K5dO5mmqezsbG3ZskWbN2/W4cOHZZqmLr74Yn3wwQe1CmyStGDBAu3du1c///yzpk6dWqt7rF+/Xq+99pquueYapaen6/nnn9fixYv1wQcfKD8/Xw888ECF9iUlJZoyZYoMw9DGjRv12muv6a9//au2b9+url27KikpqdoROiuLCrNXGdgkqkgCAAAAVhHsqxuNGDFCmZmZWr9+vTZt2qTDhw9LkuLi4tS/f38NHjxYNlvtM+LQoUO97uNrr70mSZo9e7bsdrvr+JAhQ5SYmKjVq1fr+++/1yWXXCJJWrdunfbs2aNJkyapV69ervbh4eGaMWOGxowZo4ULF+rZZ5/1um/1jSqSAAAAQMPgs9AmSUFBQRo6dKhPAlZdSElJUVhYmAYMGFDpnDO0bdiwwRXaUlJSJMlt4RTnsQ0bNtRdh+sQVSQBAACAhsEn0yMbgoKCAmVnZ6t9+/YKCgqqdL5Tp06SVGG6o/PPznPlRUVFKSYmpsFOjzxfFUlDUpwjVAnto+uzWwAAAADOETChLS8vT5LkcDjcnncu/HO28/Sa8u3dKSoqUn5+foWPFVRXRdIZ5JJGdaEICQAAAOBnPpsemZKSorfeeks7duzQ0aNHdfr06SrbGoahPXv2+OrRljZ37lwlJyf7uxtuDe8Wp1cm9Nb0f+5Szomz+7LFOkKVNKqLhneL82PvAAAAAEg+CG2maWry5Ml68803XT+fj2HU/+iNc7SsqpEx5whY+VE1T66pahTOadq0aXr00UcrXNOmTRvPO17HhneLU4+LItXvuXUyJP1jypW68uIWjLABAAAAFuF1aPvv//5vLV68WJLUp08f3XjjjWrdurWCg31a48RrYWFhiouLU1ZWlkpLSyuta3O3fq38Orc+ffpUaH/s2DHl5OSof//+1T7XbrdXqFRpRVFhIZLOlPnvdpGDwAYAAABYiNfJauHChTIMQ1OmTNGrr77qiz7VmYEDB2r58uVKS0vTtddeW+HcmjVrXG3Kt587d67Wrl2rMWPGVGi/du3aSu0bqtAmQbIH21RUUqa8k6cVEdrE310CAAAA8B9eFyL5/vvvJUnPPfec153xlZycHO3evVs5OTkVjt93332SpOnTp6u4+Owark8//VRr1qzRtdde6yr3L53Zv+3iiy/WsmXLtG3bNtfx48ePa9asWQoODtbEiRPr9LvUl8hmZ4Ja3qmq1yICAAAAqH9ej7SFhoYqNDRUUVFRvuhPlRYsWKDU1FRJ0s6dO13HnHupjR49WqNHj5YkzZs3T8nJyUpKStLMmTNd9xg8eLCmTJmiBQsWqFevXho5cqSOHDmit99+WxEREXrllVcqPDM4OFgLFixQYmKirrnmGo0dO1YRERFauXKlsrKyNHv27AohryFzNG2iI/lFhDYAAADAYrwObZdffrnS0tJ04sQJNW/e3Bd9cis1NdW1ds4pLS1NaWlpkqT4+HhXaKvOq6++qu7du+vVV1/Viy++qObNm2vUqFGaM2eO2wA2ePBgpaamKikpSStWrFBxcbG6du2qWbNmafz48T75blYQ2fTMurbck4Q2AAAAwEoM05Nyj9V45513dPvtt+uFF17Q7373O1/1q9FyVpzMy8tz7Q1nBVMWf6lPvj2iZ399ucZd2dbf3QEAAAAaPU+zgddr2m699VY99NBDeuKJJ7RkyRJvbwc/cTQ9s6Yt91TxeVoCAAAAqE9eT4+cPHmyJKlZs2aaOHGiZsyYoSuuuELh4eFVXmMYhl5//XVvHw0fohAJAAAAYE1eh7ZFixbJMAzXpto//vijfvzxR7dtne0IbdbjHGnLJ7QBAAAAluJ1aLvrrrtkGGzG3NBFND3zKmQcytfmPb8ooX00m2wDAAAAFuB1IRLUjBULkazela0n392p3HKjbHGOUCWN6qLh3eL82DMAAACg8aq3QiRo2FbvytYDS9MrBDZJOpxXqAeWpmv1rmw/9QwAAACARGgLaKVlppJXZcjdUKvzWPKqDJWWMRgLAAAA+AuhLYBtzTqq7LzCKs+bkrLzCrU162j9dQoAAABABV4XInE6fPiw3njjDaWmpurAgQMqKChQVcvlDMPQnj17fPVo1NJPx6sObLVpBwAAAMD3fBLa3nvvPd19993nDWrOc1SbtIaW4aE+bQcAAADA97yeHpmRkaFx48bpxIkTGjFihF5++WVJksPh0IIFCzR79mwNGjRIpmkqJiZG8+bN0xtvvOF1x+G9hPbRinOcP5D9cryoHnoDAAAAwB2vS/7fe++9ev311zVhwgS9+eabkiSbzabY2FgdOnTI1e6jjz7Sbbfdpq5duyo1NVVNmjTxrucNlNVK/n+445AeXPZ1tW1shjRvbG+N6E75fwAAAMBX6q3kf0pKigzD0LRp06ptd8MNN+j//b//py+++EIvvPCCt4+Fj0SF2c/bpsyUHlxG+X8AAADAH7wObQcPHlRwcLA6d+7sOmYYhoqKKk+pu/POOxUUFKTly5d7+1j4SE2KjFD+HwAAAKh/Xoe2kJAQNWvWrMKx5s2bKy8vTyUlJRWON2vWTOHh4VSOtJCaFBmh/D8AAABQ/7wOba1bt1Z+fr5OnTrlOhYfHy/TNLV9+/YKbY8dO6bc3FwVFxd7+1j4iKfFSJwo/w8AAADUL69Dm3NaZGZmpuvYgAEDZJqm/vrXv1ZoO336dEnSpZde6u1j4SNBNkNJo7p43J7y/wAAAED98jq0jRw5UqZp6t1333Udmzp1qmw2m1asWKFu3bpp/Pjx6t69u+bPny/DMDR58mRvHwsfGt4tTi+P6yVbNdvnGZLiHKFKaB9db/0CAAAA4IPQNmrUKN19990KDj67T3f37t31wgsvyGazKSMjQ2+99ZZ27dol0zQ1ZswY/fa3v/X2sfCxEd1ba97Y3m7PObNc0qguCqou2QEAAADwOa/3aavO7t279c4772j//v1yOBwaPny4rrvuurp6XINgtX3azrV6V7ZmrsrQ4byza9fiHKFKGtVFw7uxTxsAAADgK55mgzoNbajM6qFNkkrLTCXM+Vi/FJzWrJu6atyV7RhhAwAAAHys3jbX3rhxo7Zs2eJx+61bt2rjxo3ePhZ1KMhm6KLoMElSy4hQAhsAAADgR8Hnb1K9QYMGKS4uTgcPHvSo/R133KH9+/dX2sMN1tIy3C5J+ul45U3SAQAAANQfr0faJKmmMyyZkWl9Mc1DJEmp3/+szXt+UWkZf2cAAACAP3g90lZTBQUFatKkSX0/FjWwele2Vm3PliStyTiiNRlHKEYCAAAA+IlPRto89d133yknJ0ctW7asz8eiBlbvytYDS9N1oqji9NXsvEJNXZqu1buy/dQzAAAAIDDVeKTtX//6l/71r39VOJaXl1fthtmmaSo3N1efffaZDMPQNddcU/Oeos6VlplKXpWh6iZCPrlyp67vEktxEgAAAKCe1Di0bdu2TYsWLZJhGK61aadOndKiRYs8uv6CCy5QUlJSTR+LerA166iyy+3P5k7uydN68dNMPXL9JfXUKwAAACCw1Ti09ezZU3fffbfr58WLF6tp06a6/fbbq7zGZrMpIiJC3bp10y233KLIyMhadRZ166fj1Qc2pxfXZerSVuEa0Z31bQAAAEBd83pzbZvNptjYWB06dMhXfWrUrLy59uY9v2jsa57vuTd/Qm8KkwAAAAC15Gk28Lp65Pr16xUSEuLtbWABCe2jFdm0iXJPnfaoffKqDNa3AQAAAHXM6+qRAwcOVL9+/XzRF/hZkM3QpAHxHrfPzivU1qyjddchAAAAAN6HtuLiYv344486fPhwpXMnTpzQ448/rh49eqh3796aMWOGTp065e0jUYd+c10nRTbzfB89T9fBAQAAAKgdr0PbggUL1L59ez311FOVzo0cOVJ///vftXPnTm3btk3PPvusbrjhBnm5jA51KMhm6LmbL/e4fcvw0DrsDQAAAACvQ9uaNWskSePGjatw/N///rdrX7bx48drypQpatKkiT777DMtWbLE28eiDg3vFqeXx/VSdUvVDElxjlAltI+ut34BAAAAgcjr0Pbtt99Kkvr06VPh+LJly2QYhp544gktWbJE//M//6MXXnhBpmlq2bJl3j4WdWxE99aaN7a323POLJc0qgtFSAAAAIA65nXJ/6ioKJWUlOj48eMVjrdq1Uo5OTn64Ycf1L59e0lSQUGBwsPD1apVK2VnZ3vz2AbLyiX/3Vm9K1sz//2NDucXuY7FOUKVNKoL5f4BAAAAL9Rbyf+CggI1bdq0wrG9e/fq559/Vtu2bV2BTZLCwsIUGRmpo0epONhQDO8Wp+u7xKrzjNUqLi3TC3f00KgeFzLCBgAAANQTr6dHRkdH68SJE8rNzXUdW7dunSSpf//+ldqXlJSoefPm3j4W9SjIZqhlhF2S1LZFGIENAAAAqEdeh7bevc+se3r99dclSWVlZXr99ddlGIYGDx5coe3PP/+sEydOKDY21tvHop61CDuzgfrRE8V+7gkAAAAQWLwObRMnTpRpmnryySd1ww03KCEhQZs3b1bz5s112223VWj72WefSZI6d+7s7WNRz6L/E9p+KSg6T0sAAAAAvuR1aLv99ts1adIklZaWas2aNUpPT1doaKjmz5+vyMjICm3ffvtttyNwsL4Wzc9Mj/ylgJE2AAAAoD55XYhEOjM1cvLkydq0aZMiIyM1dOjQCgVIJKm4uFgOh0N33XWXRowY4YvHoh4xPRIAAADwD5+ENkkaMGCABgwYUOX5kJAQ/c///I+vHod6FhXWRJK0bX+uNu/5RQntoylIAgAAANQDr6dHovFbvStbr6T8nyTpy33HNPa1Lbr6z+u0eldg7rUHAAAA1CdCG6q1ele2HliarrxTpyscP5xXqAeWphPcAAAAgDpWo+mRkydPliTFxcVpzpw5FY7VhGEYri0CauKLL75QUlKSNm/erOLiYnXt2lUPP/ywxo0b59H1gwYN0oYNG6pt8+abb+rOO+90/RwfH699+/a5bXv//fdr/vz5nn+BBqa0zFTyqgyZbs6ZkgxJyasydH2XWKZKAgAAAHXEME3T3X+Tu2Wz2WQYhi699FJlZGRUOObJbZztDMNQaWlpjTqakpKixMREhYSEaMyYMXI4HFq5cqWysrI0Z84cPfXUU+e9x6JFi7R3795Kx0+fPq25c+fKZrPpxx9/VOvWrV3n4uPjlZubq4cffrjSdX379tWvfvWrGn2P/Px8ORwO5eXlKSIiokbX1rfNe37R2Ne2nLfdW/depX4dWtRDjwAAAIDGw9NsUKORtrvuukuGYSguLq7SsbpUUlKiKVOmyDAMbdy4Ub169ZIkJSUlqV+/fkpKStJtt92mTp06VXufiRMnuj3+7rvvyjRNjRgxokJgc4qMjNTMmTO9/RoNzk/HC33aDgAAAEDN1Si0LVq0yKNjvrZu3Trt2bNHkyZNcgU2SQoPD9eMGTM0ZswYLVy4UM8++2yt7r9gwQJJ0j333OOT/jYWLcNDfdoOAAAAQM35rOR/XUpJSZEkDRs2rNI557HzrVWryoEDB7R27VrFxsZq5MiRbtsUFRVp8eLFOnjwoKKiotS/f3/16NGjVs9rSBLaRyvOEarDeYVu17UZkmIdoUpoH13fXQMAAAACRoMIbZmZmZLkdvpjVFSUYmJiXG1qauHChSorK9PEiRMVHOz+13H48OFKUyuHDx+uJUuWKCYmptr7FxUVqaioyPVzfn5+rfrpD0E2Q0mjuuiBpekypArBzTkhNmlUF4qQAAAAAHXIJ6GtqKhIW7Zs0Z49e3T06FFJUosWLdShQwddddVVCgkJ8er+eXl5kiSHw+H2fEREhA4cOFDj+5qmqYULF0qqemrk5MmTNXDgQHXt2lV2u10ZGRlKTk7WRx99pBtvvFFpaWnVrumbO3eukpOTa9w3qxjeLU6vTOit5FUZys47u3Yt1hGqpFFdNLxbXDVXAwAAAPBWjapHnmvPnj3605/+pBUrVqi4uNhtG7vdrrFjx2r69Olq3759rZ4zbNgwffzxx8rMzFTHjh0rne/QoYMOHDhQYUTLE59++qmGDh2qgQMHuqZgeqKsrEwDBw5Uamqq3n///SqnVUruR9ratGnTIKpHlldaZmrSoq3a+H2O7riijZ799eWMsAEAAABe8LR6ZK031/7www/Vq1cvLV26VEVFRTJN0+2nsLBQixYtUo8ePbR27dpaPcs5wuYccTuX88vWlLMAyZQpU2p0nc1m06RJkyRJaWlp1ba12+2KiIio8GmIgmyGOsee6XtzezCBDQAAAKgntZoeuXPnTt18880qLi6WYRgaOXKkRo4cqR49eig6OlqmaerYsWPavn27PvjgA3344Yc6ceKEbrrpJqWnp6tz5841ep5zLVtmZqb69OlT4dyxY8eUk5Oj/v371+iex44d03vvvafIyEjdcsstNbpWkmst28mTJ2t8bUPVovmZaa5HC9yPqgIAAADwvVqNtN1///0qLi5W27ZttWXLFq1atUpTp05Vv379dOmll+qyyy5Tv379NHXqVK1atUqbN29WmzZtVFRUpPvvv7/Gzxs4cKAkuR2pcx5ztvGUc4Rw/Pjxatq0aY379Pnnn0s6s/l2oIgOs0uSck7UbBoqAAAAgNqrcWjbvn27tmzZotDQUL3//vu64oorzntNQkKC3n//fYWGhiotLU07d+6s0TOHDBmiiy++WMuWLdO2bdtcx48fP65Zs2YpODi4QnXHnJwc7d69Wzk5OVXe8/XXX5dU/d5sGRkZys3NrXQ8NTVVf/vb32S323XzzTfX6Ls0ZIy0AQAAAPWvxqFt5cqVkqS77rpL3bp18/i6yy+/XHfeeack6d13363RM4ODg7VgwQKVlZXpmmuu0X333afHH39cPXr00DfffKOZM2fqkksucbWfN2+eOnfurHnz5rm931dffaXt27erd+/eFTbrPteKFSvUunVrjRo1Sr/97W/1+OOPa/jw4br22mt1+vRpzZs3T23btq3Rd2nIWoSdCW2/nCC0AQAAAPWlxmva0tPTZRiGxo4dW+OHjRs3Tq+99prS09NrfO3gwYOVmpqqpKQkV7XKrl27atasWRo/fnyN7uUcZTtfAZLBgwfr22+/VXp6ujZs2KDCwkK1atVKd9xxhx555BElJCTU+Hs0ZI6mTSRJPx8v0uY9OUpo34KCJAAAAEAdq3HJ/44dOyorK0t5eXlq3rx5jR524sQJRUREqEOHDrXeDLuh87Ssp9Ws3pWtmf/+Rofzz65ni2OvNgAAAKDW6qzkf25urkJDQ2sc2CSpefPmatasmY4dO1bja+E/q3dl64Gl6RUCmyQdzivUA0vTtXpXtp96BgAAADR+NQ5t+fn5Xo0QNW/eXMePH6/19ahfpWWmkldlyN1wrPNY8qoMlZbVeo92AAAAANWocWgrKSmRYdR+HZNhGCopKan19ahfW7OOKjuvsMrzpqTsvEJtzTpaf50CAAAAAkit9mlD4PjpeNWBrTbtAAAAANRMjatHSlJeXp4mT55cqwfm5eXV6jr4R8vwUJ+2AwAAAFAztQpthYWFWrx4ca0eaJqmV9MrUb8S2kcrzhGqw3mFbte1SZLNkI6x4TYAAABQJ2oc2tq2bUvoCiBBNkNJo7rogaVV761XZkoPLUvXK7belP8HAAAAfKzG+7TBOw11n7YPdxzSb976WlUViTQkxTpClfrEdWy4DQAAAHigzvZpQ2CKCrNXGdgkqkgCAAAAdYXQBo9QRRIAAADwjzoLbf/7v/+rN998s65uj3rmaXXIz77PYaNtAAAAwIfqbE1bXFycfv75ZzbSPkdDXdNWWmbq6j+vq3ajbacwe5D+ckt3jejeuh56BgAAADRMlljTRo2TxiPIZmjGyM4etS0oKtWDy77WnA++qeNeAQAAAI0fa9rgsagwe43av/bZXs35IKOOegMAAAAEBkIbPFabIiOvfZalD3dk10FvAAAAgMBAaIPHPC1Gcq4Z/9pFcRIAAACgluostLGerfFJaB+t2IiaTZGUpF8Kitm/DQAAAKilOgtt7733ntatW+f2XF5eXl09FnUoyGZo5o1da3Ut+7cBAAAAteN1aJs+fbrb4/369dPAgQMrHc/Ly9P111/v7WPhJ8O7xWn+hN6KbNakRtfVdmolAAAAEOi8Dm3PPvusXnnlFY/anjhxQomJifrqq6+8fSz8aHi3OH01/Xr9454r1fOi8+81F+cIVUL76HroGQAAAND4eB3agoKC9Lvf/U4rV66stp0zsG3dulVxcXHePhZ+FmQzNKBTjP75m2t07zXtq207Y2RnBdmMeuoZAAAA0Lh4HdoWLFig0tJSTZgwQZ999pnbNgUFBRoxYoQ2b96s2NhYffrpp94+Fhby9Mguenlcb0WHhbg9P+uDb7V6F2X/AQAAgNrwOrTdfffdmjt3rgoLCzV69Gjt2rWrwvmTJ09q5MiRSk1NVatWrfTpp5/q0ksv9faxsJgR3eM0+6Zubs8dzivUA0vTCW4AAABALfikeuQTTzyh3/72tzp27JhuuOEG7d+/X5J06tQpjRo1Shs3btQFF1ygTz75RJ07d/bFI2ExpWWmZn2Q4fac+Z/PE+/uUNoPOezZBgAAANSAz0r+/9d//Zduv/12HTx4UImJiTp48KBuvPFGrV+/Xi1atNDHH3+srl1rVy4e1rc166iy86ov6593qkTjF3yuK+Z8rA93HKqnngEAAAANW7Avb7ZkyRL99NNPSklJ0SWXXKJTp04pKipKH3/8sbp37+7LR8FiarIP29GC03pw2de6/0Cupo3oUoe9AgAAABo+n26u3aRJE/3rX/9Sz549derUKUVGRurjjz9Wz549ffkYWFBt9mF7dWOWPtzBOjcAAACgOjUaafvTn/7kUbuEhARt27ZN11xzjd5//329//77ldo888wzNXk0LC6hfbSiw5roaMHpGl335ModGtqllUKCffrvBwAAAECjYZim6XFVCJvNJsPwbL8t0zSrbVtaWurpYxuV/Px8ORwO5eXlKSLi/BtTNySzVn2j19P21vi66LAQPfvrbhrejf37AAAAEDg8zQY1Gmm79tprPQ5tCDxDu8TWKrQdLSjWA0vT9cqE3gQ3AAAA4Bw1Cm0pKSl11A00BgntoxUbYdfh/KJaXZ+8KkPXd4lVkI1/GAAAAACcWEgEnwmyGZp5Y+22dTAlZecVamvWUd92CgAAAGjgCG3wqeHd4jR/Qm9FNmtSq+trsnUAAAAAEAh8uk8bIJ0Jbtd3idWWPb/of7/ar39u83wj7dpsHQAAAAA0ZoQ21Ikgm6EBnWJ0VYcW+jzrqLLzqh9BMyTFOkKV0D66fjoIAAAANBBMj0SdCrIZShrVRZ6UFkka1YUiJAAAAMA5CG2oc8O7xemVCb0V53A/9TE6rIleGteLcv8AAACAG0yPRL1wrnPbmnVUa7/J1j+27ldxSZkk6WjBac364FvZbAbBDQAAADgHI22oN0E2Q3mnirVo0z5XYHM6nFeoB5ama/WubD/1DgAAALAmQhvqTWmZqeRVGTLdnHMeS16VodIydy0AAACAwERoQ73Zep4qkmywDQAAAFRGaEO98XTjbDbYBgAAAM4itKHeeLpxNhtsAwAAAGcR2lBvEtpHK84RWuWebYakODbYBgAAACogtKHeODfallQpuDl/ZoNtAAAAoKIGFdq++OILjRgxQlFRUQoLC1NCQoKWLVvm8fUpKSkyDKPKz5YtW+rkuTjLudF27Dkbbcc6QvXKhN7s0wYAAACco8Fsrp2SkqLExESFhIRozJgxcjgcWrlypcaPH6+9e/fqqaee8vheAwcO1KBBgyodv+iii+r0uTjDudH2i59m6r8+zdQlrZrro99fywgbAAAA4IZhmqblN8UqKSnRZZddpgMHDmjz5s3q1auXJOn48ePq16+fvvvuO2VkZKhTp07V3iclJUWDBw9WUlKSZs6cWW/PLS8/P18Oh0N5eXmKiIjw+LrG6Osfj+nXL29Sa0eoNk0b4u/uAAAAAPXK02zQIKZHrlu3Tnv27NG4ceNcwUmSwsPDNWPGDJWUlGjhwoWN5rmBIjbizBTJ7LxCpWb+zKbaAAAAgBsNYnpkSkqKJGnYsGGVzjmPbdiwweP7ZWZm6sUXX9TJkyfVrl07XX/99YqJianz5+Ks1buyNfPfGZLObKo94fWtimzaRJMGxOs313ViqiQAAADwHw0itGVmZkqS22mIUVFRiomJcbXxxLJlyyoUEmnatKmSk5P1hz/8wefPLSoqUlFRkevn/Px8j/vZWK3ela0Hlqbr3HG13FOn9fdPMrVw0149d/PlFCUBAAAA1ECmR+bl5UmSHA6H2/MRERGuNtW54IIL9Je//EXffvutCgoKdPDgQS1dulTR0dH64x//qFdffdXnz507d64cDofr06ZNm/P2szErLTOVvCqjUmArL/fkaT2wNF2rd2XXW78AAAAAq2oQoc1Xunbtqscff1yXXXaZmjVrptatW2v8+PFavXq1QkJClJSUpLKyMp8+c9q0acrLy3N99u/f79P7NzRbs44qO6/wvO1MScmrMljnBgAAgIDXIEKbc6SrqlEtZ9WV2urWrZuuvPJKHTlyRD/88INPn2u32xUREVHhE8h+On7+wOaUnVeorVlH67A3AAAAgPU1iNDmXFPmbv3YsWPHlJOTU6Oy++44C5GcPHmyXp8baFqGh56/UTk1CXkAAABAY9QgQtvAgQMlSWvXrq10znnM2aY2SkpKlJ6eLsMw1LZt23p7biBKaB+tOIfnwa2mIQ8AAABobBpEaBsyZIguvvhiLVu2TNu2bXMdP378uGbNmqXg4GBNnDjRdTwnJ0e7d+9WTk5Ohfts3rxZ5+4lXlJSoj/84Q/at2+fEhMTFR0dXevn4vyCbIaSRnU5bztDUpwjVAnto8/bFgAAAGjMGkTJ/+DgYC1YsECJiYm65pprNHbsWEVERGjlypXKysrS7Nmzdckll7jaz5s3T8nJyUpKStLMmTNdx8eOHSvDMNS/f39deOGFys3N1caNG/Xdd9+pbdu2mj9/vlfPhWeGd4vT/Am99eTKnco9ebrSeecObUmjurBfGwAAAAJegwhtkjR48GClpqYqKSlJK1asUHFxsbp27apZs2Zp/PjxHt3jgQce0OrVq5WSkqKcnBwFBwerY8eOevrpp/XYY48pKiqqTp6LyoZ3i9P1XWI1b90PWpiWpdxTZ8NbrCNUSaO6sE8bAAAAIMkwz50viDrlrDiZl5cX8JUknUrLTF3z/Dodyi3U9BGdNenq9oywAQAAoNHzNBs0iDVtaNyCbIYuimomSYqNDCWwAQAAAOUQ2mAJLcJCJElHC4r93BMAAADAWghtsISo/4S2X04Q2gAAAIDyCG2wBEbaAAAAAPcIbbCEaGdoO0loAwAAAMojtMESXKGN6ZEAAABABYQ2WEJk0yaSpL05Bdq85xeVlrETBQAAACAR2mABq3dl67H/3S5Jys4v1NjXtujqP6/T6l3Zfu4ZAAAA4H+ENvjV6l3ZemBpunLOmRZ5OK9QDyxNJ7gBAAAg4BHa4DelZaaSV2XI3URI57HkVRlMlQQAAEBAI7TBb7ZmHVV2XmGV501J2XmF2pp1tP46BQAAAFgMoQ1+89PxqgNbbdoBAAAAjRGhDX7TMjzUp+0AAACAxojQBr9JaB+tOEeojCrOG5LiHKFKaB9dn90CAAAALIXQBr8JshlKGtVFkioFN+fPSaO6KMhWVawDAAAAGj9CG/xqeLc4vTKht2IdFadARoU10Uvjeml4tzg/9QwAAACwBkIb/G54tzjNGNlFkc2auI4dLTitWR98yz5tAAAACHiENvjd6l3ZemhZunJPnq5wPDuvUFOXpuuFj79jrzYAAAAELEIb/Kq6DbadXvj0B/WZ/TGjbgAAAAhIhDb41fk22HbKPXlaU5emE9wAAAAQcAht8KuabpydvCqDqZIAAAAIKIQ2+FVNN87OzivU1qyjddQbAAAAwHoIbfAr5wbbNVHT0TkAAACgISO0wa/Kb7DtqZ/yi5giCQAAgIBBaIPfDe8Wp5fH9ZLhYfs5H35LNUkAAAAEDEIbLGFE99Z6aVxvj9tTTRIAAACBgtAGyxjR/T8jbp4OuYlqkgAAAGj8CG2wlKgwu8waZDCqSQIAAKCxI7TBUmpTGfJw3qk66AkAAABgDYQ2WEpN922TpBn/+oa1bQAAAGi0CG2wlNrs23aiqERTl6brgaVfKe2HHNa4AQAAoFEhtMFSnPu21aAWictHuw5r/ILP1T15jT7cccjnfQMAAAD8gdAGyxneLU6vTOhd4xE3p4KiUj247Gvd/FIqI28AAABo8AzTrEmtPngrPz9fDodDeXl5ioiI8Hd3LK20zNTWrKP6cOchLdnyY63vE9msiZ67+XIN7xbnw94BAAAA3vE0GzDSBssKshnq16GFRlze2qv7sBE3AAAAGjJCGywvoX20YiPsXt/nyZU7mSoJAACABofQBssLshmaeWNXr++Te/K0Xvw00wc9AgAAAOoPoQ0NwvBucXp5XC8ZtSkrWc6L6zL14Q6mSQIAAKDhILShwRjRvbVeGtvbq3uYpvTgMta3AQAAoOEgtKFBGdE9TvO92A7AifVtAAAAaCiC/d0BoKaGd4vT9V1itTXrqA7nnVLqDzl6f0e2ikrKPL5H7snTmrfuB/1+aKc67CkAAADgPfZpq2fs01Y3SstMvfhppl78NFOevtA2Q7rvmosVFRai3FPFys4t1IVRTdW/Q4yuuriFgmxeLqADAAAAquFpNiC01TNCW936cEe2HlyW7vV9QoIM9WwTqSvaRxPiAAAAUCcIbRZFaKt7H+44pIeWfe3xiJsnmoUE6f5rL9ZvrutEeAMAAIBPeJoNKESCRmdE99b6/RDfrlU7WVyqv3+Sqe7Ja/ThjkM+vTcAAABQnQYV2r744guNGDFCUVFRCgsLU0JCgpYtW+bx9ampqXrsscfUp08ftWjRQqGhobrsssv0xBNPKDc31+018fHxMgzD7Wfq1Kk++mbwtd8O6aRmIUE+v29BUakeXPa1Rr/0mf665jul/ZBDFUoAAADUqQYzPTIlJUWJiYkKCQnRmDFj5HA4tHLlSmVlZWnOnDl66qmnznuP2NhY5eTk6Oqrr1avXr1kGIZSUlL09ddfq0OHDtq0aZNatmxZ4Zr4+Hjl5ubq4YcfrnS/vn376le/+lWNvgfTI+vPf33yvf7+SWadPye0iU1jr2ijYV3jlNA+mumTAAAA8EijWtNWUlKiyy67TAcOHNDmzZvVq1cvSdLx48fVr18/fffdd8rIyFCnTtVPifvzn/+su+66S3Fxca5jpmnqoYce0iuvvKIHH3xQL730UoVr4uPjJUl79+71yXchtNWf0jJTfWZ/rNyTp+vtmWH2IN17dXv9dsglhDcAAABUq1GtaVu3bp327NmjcePGuQKbJIWHh2vGjBkqKSnRwoULz3ufJ554okJgkyTDMDRjxgxJ0oYNG3zbcfhVkM3QczdfXq/PLCgq1Quf/qBLn/5Qt8/fpL+s2c0USgAAAHilQWyunZKSIkkaNmxYpXPOY94EriZNmkiSgoPd/zqKioq0ePFiHTx4UFFRUerfv7969OhR6+eh/gzvFqf5E3rryZU763XErcSUtu49pq17j+ml9XsU2ayJnrv5cg3vFnf+iwEAAIByGkRoy8w8sy7J3fTHqKgoxcTEuNrUxhtvvCHJfSiUpMOHD2vixIkVjg0fPlxLlixRTExMtfcuKipSUVGR6+f8/Pxa9xO1M7xbnK7vEqt5637Qqxv36GRxab33IffkaU1dmq7ELi3VN76FYsLtio0IZQ0cAAAAzqtBrGkbNmyYPv74Y2VmZqpjx46Vznfo0EEHDhyoEI48tW3bNg0YMEDNmzfXN998UymE/elPf9LAgQPVtWtX2e12ZWRkKDk5WR999JH69euntLQ0GUbV/9E9c+ZMJScnVzrOmjb/KC0ztWXPL0rb87MO5RYqLjJUkU1DlHuqWF/tPabtB/JUVFJWb/1pbrdpQIcYNQ0JVlxkqKKb2Ql0AAAAAaJRFSKpq9CWlZWla665Rjk5Ofroo480ePBgj64rKyvTwIEDlZqaqvfff18jR46ssq27kbY2bdoQ2iyqfKhbs+uw9uSc9FtfmoXYdEO3WF3dqSUhDgAAoBHyNLQ1iOmRDodD0pnRKXecX7Ym9u3bp8GDB+vnn3/Wu+++63FgkySbzaZJkyYpNTVVaWlp1YY2u90uu91eo77Bf4JshgZ0itGATjH64/DOmvNBhl77LMsvfTlZXKZ30w/p3fQzm3kT4gAAAAJTg6ge6VzL5m7d2rFjx5STk3Pecv/l7d27V4MGDdKhQ4e0YsWKGu+1Jsk1jfLkSf+NxKDuPT2yi14e11vRYSH+7oorxD3y9jaNfW2Lrv7zOq3ele3vbgEAAKCONYjQNnDgQEnS2rVrK51zHnO2OR9nYDt48KDefvtt3XTTTbXq0+effy7p7D5uaLxGdI/TF08P1Vv3XqW/395Dt/S+UGH2IH93S9l5hZq6NF1Tl3ypv675jq0FAAAAGqkGsaatpKREl156qQ4ePKgtW7aoZ8+ekipurv3NN9/okksukSTl5OQoJydHMTExFQqLnBvYbr755mqfm5GRodatWysyMrLC8dTUVF1//fUyTVPff/+92rZt6/F3YXPtxqG0zNTWrKNa+0223vpivwpP11/xkurYgw0NvrSlOrYMV78OLXTVxS2YQgkAAGBRjaoQiSStX79eiYmJstvtGjt2rCIiIrRy5UplZWVp9uzZevrpp11tnRUbk5KSNHPmTNfx+Ph47du3T1dddZUSExPdPqd8+5kzZ+r555/XkCFDFB8fL7vdrl27dmnt2rWy2WyaP3++pkyZUqPvQWhrfJzFS5Z+vlfrd/+swnqsPnk+YfYg/eWW7hrRvbW/uwIAAIBzNKpCJJI0ePBgpaamKikpSStWrFBxcbG6du2qWbNmafz48R7dY9++fZKkLVu2aMuWLW7blA9tgwcP1rfffqv09HRt2LBBhYWFatWqle644w498sgjSkhI8Pp7oeErX7zEGeDe3LJXa7454u+uqaCoVA8u+1qdPv5eQ7u2UmTTEOUXnpYhg5E4AACABqLBjLQ1Foy0BY7Vu7L15Mqdyj152t9dqZI92NCgSy5w7RNHqAMAAKg/jW56ZGNBaAss527mfep0qTbt+UXHC0v83TWPhDaxaewVbTSsaxxbDAAAAPgYoc2iCG1wFjE5nHdKOSeKdPRksbL/E+g2fP+zZYqanKtZiE3Du7ZSK0dTZecWKi4yVNHN7IoJt7NvHAAAQC00ujVtQGMRZDsz9dAd58jc5v/LUeZPJywV4k4Wl2nl11XvCxcd1kSzb+pG0RMAAAAfY6StnjHShpooX5nyo13+L2ziiZ5tItS/wwWKahbCKBwAAEA1mB5pUYQ21FZDKGxSlXOnVl4Y1VT9O8RQ6AQAAAQ0QptFEdrgjfLTJ8tM6XBeodZkHFZBUam/u1YrIUGGeraJVJ/4KNbHAQCAgENosyhCG3ytfGGT1B9y9P6ObBVZaIPv2ohzhCppVBcN7xbn764AAADUGUKbRRHaUNdKy0zNW/eDXt24RyeLG+YInNPL43pR2AQAADRahDaLIrShvpy7R1xcZKiO5BU1uOmUV8RHKaF9NGvgAABAo0NosyhCG/ytqn3iGkKoK78GLrJpiHJPne17ZNMQ5ReelqEzWyoQ8AAAgNUR2iyK0Aarc4a6td9k660v9ltmn7iasgcbGnTJBWoaEsxG4AAAwJIIbRZFaENDcm61SkfTJq7Rrb2/FGjb/jx/d7FWzt2CgFAHAAD8gdBmUYQ2NCYf7sjW9H/t0tGCYn93xaecoS4uspnMc8IqAQ8AAPgKoc2iCG1obM5dI5d76rR++OmENnz/c4OdWlkTzUJsuqFbrK7u1JIQBwAAaoTQZlGENgSKqqZWfrX3mLYfyGvwe8lVhamXAADAU4Q2iyK0ARW3I/hy7zFt3XvM312qN+WnXlLpEgCAwEZosyhCG1DZ6l3ZenLlTuWePO3vrvjFuZUuy29ncGFUU/aoAwCgkSK0WRShDXDPOfq29PO9Wr/7ZxU20umTtXW+PeoIeQAANDyENositAHnd+70yca8Bq6unBvy8gtPu62EeW4AZP0dAAD1h9BmUYQ2oObKh7hDVYSNI3lFWpNxWAVFpf7ubqPhrqgKo3oAAPgOoc2iCG1A3Tl3+4GjJ8+Ei1OnSwNmCwJ/8HTqJiN7AABU5Gk2CK7HPgFAnQqynanG6E5VWxAQ6rxXXGpqqw+qgJ5vZM/5c37haSpvAgACCiNt9YyRNsCa3IU6d+vACHjWUpNRPkb1AABWw/RIiyK0AQ1f+YCX+dMJQlwDxKgeAMAKCG0WRWgDGh+mXgaG6vbTq+nPFHEBAEiENssitAGB59xQdzivkEqXkCTZg20afOkF6tU2igAIAAGI0GZRhDYAUtWVLsv/B/lX7FGHGjjf+j6megKA9RDaLIrQBqAmPNmjjpCHmvLlVM/yodA0pahmIRR8AQAPEdositAGoC5VFfLcVcI89z++WX8HX/Ok4AtVPQEEMkKbRRHaAFhZdUVVGNVDXfO0qicbuANoLAhtFkVoA9BY1GTqJiN7sILahkJ3I9UUgAHgC4Q2iyK0AcBZno7slf/56/3HlLL7ZxUyygcLqMkG7xSIAXAuQptFEdoAwHs1HeVjVA8NgTcFYhj5AxomQptFEdoAwD9qOqp3JK+I/fTQ4Hiy9YO7okSs/QP8g9BmUYQ2AGg4PNlPr6Y/U8QFVudu7R+hDqgbnmaD4HrsEwAADUqQ7cxaI1+rzVo+AiDqy8niMq38OrvK894UdGH9HlA7jLTVM0baAAC+5Mn6PqZ6wmq83eCdkT80FkyPtChCGwDAH+pique5oyg//HSCgi+od83tNg3oEFPrAMgoIPyJ0GZRhDYAQGNWk6mfVPWEFVHFE/WJ0GZRhDYAAM7y1fo+QiGspKoqnoQ6nIvQZlGENgAA6o8vQuG5ZfIpAANvnRvqqtqKgbV8jR+hzaIIbQAANHw13eCdAjHwtdpW8SQEWguhzaIIbQAAwMkXBWIY+YMv+CIElh81jGoWQiD0APu0AQAAWJyv9gL0dOTP3TQ81v5BOv/+fN7wZSAM1CqfjLTVM0baAACA1VS39o9QBysKswfpL7d014jurf3dFa80yumRX3zxhZKSkrR582YVFxera9euevjhhzVu3DiP71FWVqaXX35Z//M//6PMzEw1b95cgwcP1pw5c9SpU6c6e64ToQ0AADQ03hZ0Yf0e6kqnC8I0tGurBrs+r9GFtpSUFCUmJiokJERjxoyRw+HQypUrlZWVpTlz5uipp57y6D733XefXnvtNXXp0kUjR47UkSNH9Pbbbys0NFSbNm1Sly5d6uS5ToQ2AAAQiHy1wfup06XatOcXHS8s8fdXgkXFOUKVNKqLhneL83dXzqtRhbaSkhJddtllOnDggDZv3qxevXpJko4fP65+/frpu+++U0ZGRpUjZU7r16/Xddddp2uuuUYff/yx7Ha7JOnTTz/V9ddfr2uuuUYbNmzw+XPLI7QBAAB4x1cBkFHAxi2xS0u3m6Rbab+8RlWIZN26ddqzZ48mTZrkCk6SFB4erhkzZmjMmDFauHChnn322Wrv89prr0mSZs+e7QpskjRkyBAlJiZq9erV+v7773XJJZf49LkAAADwHV8VcHGiimfjtCbjpyrPvbR+jyKbNdFzN1/eIEbkGkRoS0lJkSQNGzas0jnnsfIjZNXdJywsTAMGDKh0zhnaNmzY4AptvnouAAAArKs+qngS6qwn9+RpTV2arvkTels+uDWI0JaZmSlJbqchRkVFKSYmxtWmKgUFBcrOzla3bt0UFBRU6bzz3uXv44vnAgAAIDAE2QwN6BSjAZ1i3J6vKtS524rB3Vo+qnjWjeRVGbq+S6zfp0pWp0GEtry8PEmSw+Fwez4iIkIHDhzw+h7l2/nquUVFRSoqKnL9nJ+fX217AAAANE7nC3Xn420VT0Kge9l5hdqaddSnU259rUGEtoZs7ty5Sk5O9nc3AAAA0MB5G/rO5csQWH7U8IefTjS4QPjT8UJ/d6FaDSK0OUe6yo+CleesuuLtPcq389Vzp02bpkcffbTCNW3atKn2GgAAAKCu+ToElufrQHgkr0gf7MyuszWBLcND6+S+vtIgQlv59WZ9+vSpcO7YsWPKyclR//79q71HWFiY4uLilJWVpdLS0krr2tytX/PFc+12e4VKlQAAAEBjVxeB8C+39dC8dT/o1Y17dLLYd1s0xDnObMhtZTZ/d8ATAwcOlCStXbu20jnnMWeb892noKBAaWlplc6tWbOm0n189VwAAAAA3gmyGfr90E7aOTNR/7jnSj046GIlxEd5fd+kUV0sXYREakCba1966aU6ePCgtmzZop49e0qquMn1N9984yrVn5OTo5ycHMXExCgm5my6L7+59ieffKKQkBBJ1W+uXZPneoLNtQEAAADfWb0rW0+u3Knck6drdF1Usyaa6+d92jzNBg0itElnAldiYqLsdrvGjh2riIgIrVy5UllZWZo9e7aefvppV9uZM2cqOTlZSUlJmjlzZoX73HvvvVqwYIG6dOmikSNH6siRI3r77bcVGhqqTZs2qUuXLrV+ricIbQAAAIBv1WQN3YVRTdW/Q4yuuriF30fYPM0GDWJNmyQNHjxYqampSkpK0ooVK1RcXKyuXbtq1qxZGj9+vMf3efXVV9W9e3e9+uqrevHFF9W8eXONGjVKc+bMcTti5qvnAgAAAKgbdVlUxQoazEhbY8FIGwAAAADJ82zQIAqRAAAAAECgIrQBAAAAgIUR2gAAAADAwghtAAAAAGBhhDYAAAAAsDBCGwAAAABYGKENAAAAACyM0AYAAAAAFkZoAwAAAAALI7QBAAAAgIUR2gAAAADAwghtAAAAAGBhwf7uQKAxTVOSlJ+f7+eeAAAAAPAnZyZwZoSqENrq2fHjxyVJbdq08XNPAAAAAFjB8ePH5XA4qjxvmOeLdfCpsrIyHTp0SOHh4TIMw2/9yM/PV5s2bbR//35FRET4rR+wFt4LuMN7AXd4L+AO7wWqwrvhnmmaOn78uFq3bi2breqVa4y01TObzaaLLrrI391wiYiI4H84qIT3Au7wXsAd3gu4w3uBqvBuVFbdCJsThUgAAAAAwMIIbQAAAABgYYS2AGW325WUlCS73e7vrsBCeC/gDu8F3OG9gDu8F6gK74Z3KEQCAAAAABbGSBsAAAAAWBihDQAAAAAsjNAGAAAAABZGaAMAAAAACyO0BZgvvvhCI0aMUFRUlMLCwpSQkKBly5b5u1vwkaVLl+r+++9X3759ZbfbZRiGFi1aVGX7/Px8Pfroo2rXrp3sdrvatWunRx99VPn5+VVes2zZMiUkJCgsLExRUVEaMWKEvvzyyzr4NvCVgwcP6oUXXtCwYcPUtm1bhYSEKDY2Vrfccos+//xzt9fwbjR+ubm5+t3vfqd+/fopNjZWdrtdF154oa677jq9++67clenjPciMD3//PMyDEOGYWjLli1u2/BuNH7x8fGu9+Dcz9SpUyu1553wMRMBY/369WZISIjZvHlzc8qUKeZjjz1mtm/f3pRkzpkzx9/dgw+0a9fOlGTGxMS4/rxw4UK3bU+cOGH27NnTlGRef/315hNPPGEOHz7clGT27NnTPHHiRKVr5syZY0oy27Ztaz766KPmfffdZ0ZERJghISHm+vXr6/bLodaeeOIJU5LZoUMHc/LkyeaTTz5p3nLLLWZQUJBps9nMt99+u0J73o3AkJmZaYaFhZlDhgwx77//fnPatGnmPffcY7Zs2dKUZN57770V2vNeBKaMjAzTbrebYWFhpiRz8+bNldrwbgSGdu3amQ6Hw0xKSqr0WbVqVYW2vBO+R2gLEKdPnzY7dOhg2u12Mz093XU8Pz/f7Nq1qxkcHGx+//33fuwhfOHjjz829+7da5qmac6dO7fa0PbMM8+Yksw//vGPbo8/88wzFY5///33ZnBwsHnJJZeYubm5ruO7du0ymzVrZnbo0ME8ffq0b78QfOLdd981N27cWOn4xo0bzSZNmpjR0dFmYWGh6zjvRmAoKSlx+/eSn59vdunSxZRk7tq1y3Wc9yLwlJSUmFdccYWZkJBgTpgwocrQxrsRGNq1a2e2a9fOo7a8E75HaAsQa9asMSWZkyZNqnRu+fLlpiRz2rRpfugZ6kp1oa2srMxs3bq12bx580r/2nXq1CkzKirKvPDCC82ysjLX8WnTppmSzMWLF1e639SpU01J5po1a3z+PVC3hg0bZkoyv/jiC9M0eTdwxiOPPGJKMv/5z3+apsl7EajmzJljhoSEmLt27TLvvvtut6GNdyNweBraeCfqBmvaAkRKSookadiwYZXOOY9t2LChPrsEP8rMzNShQ4c0YMAAhYWFVTgXGhqqa6+9VgcPHtQPP/zgOl7dO5SYmCiJd6ghatKkiSQpODhYEu8GpMLCQq1bt06GYahLly6SeC8C0a5du5ScnKzp06era9euVbbj3QgsRUVFWrx4sZ599lm98sor2r59e6U2vBN1I9jfHUD9yMzMlCR16tSp0rmoqCjFxMS42qDxq+59KH88MzOzwp+bN2+u2NjYatuj4fjxxx/1ySefKDY2Vpdffrkk3o1AlJubqxdeeEFlZWX66aef9OGHH2r//v1KSkqq9PfHexEYSkpKNHHiRHXu3FlPPvlktW15NwLL4cOHNXHixArHhg8friVLligmJkYS70RdIbQFiLy8PEmSw+Fwez4iIkIHDhyozy7Bjzx5H8q3c/65ZcuWHreHtZ0+fVp33nmnioqK9PzzzysoKEgS70Ygys3NVXJysuvnJk2a6C9/+Ysee+wx1zHei8Dy7LPPavv27fr8889do/FV4d0IHJMnT9bAgQPVtWtX2e12ZWRkKDk5WR999JFuvPFGpaWlyTAM3ok6wvRIAAgwZWVlmjx5sjZu3Kh7771Xd955p7+7BD+Kj4+XaZoqKSlRVlaW/vSnP+npp5/WLbfcopKSEn93D/Vs+/btmj17th5//HH17t3b392BhTzzzDMaOHCgYmJiFB4eriuvvFLvv/++rr76am3evFkffvihv7vYqBHaAoTzXzuq+leK/Pz8Kv9FBI2PJ+9D+XbOP9ekPazJNE3de++9Wrp0qSZMmKD58+dXOM+7EbiCgoIUHx+vJ598UrNnz9Z7772n1157TRLvRSC5++671aFDB82cOdOj9rwbgc1ms2nSpEmSpLS0NEm8E3WF0BYgqpsPfOzYMeXk5FQ59xiNz/nmh7ubj96pUyedOHFChw8f9qg9rKesrEz33HOP3njjDY0dO1aLFi2SzVbx/wZ4NyCdLQbgLA7AexE4tm/frt27dys0NLTC5smLFy+WJPXr10+GYeif//ynJN4NyLWW7eTJk5J4J+oKoS1ADBw4UJK0du3aSuecx5xt0Ph16tRJrVu3VlpamgoKCiqcKyws1MaNG9W6dWt17NjRdby6d2jNmjUV2sB6ysrKNGXKFC1cuFB33HGHlixZ4lrHVh7vBiTp0KFDks5WFeW9CBz33HOP24/zP5hvvPFG3XPPPYqPj5fEuwHp888/lyTeibrm7z0HUD9Onz5tXnzxxabdbje//vpr1/Hym2t/9913/usgfM7Xm2t/9913bHzZQJWWlpoTJ040JZm33Xbbef+eeDcCw9dff13h78vpl19+MXv27GlKMpcsWeI6znsR2Krap800eTcCwTfffGMeO3as0vHPPvvMDA0NNe12u7lv3z7Xcd4J3zNM0zT9ERZR/9avX6/ExETZ7XaNHTtWERERWrlypbKysjR79mw9/fTT/u4ivLRgwQKlpqZKknbu3Kn09HQNGDDA9a9Zo0eP1ujRoyVJBQUFuvrqq7Vt2zZdf/316tOnj7Zv366PPvpIPXv2VGpqaqX9VebMmaPp06erbdu2uvXWW1VQUKC33npLp06d0po1azR48OB6/b7wzMyZM5WcnKzmzZvr97//vWv0pLzRo0erZ8+ekng3AsXDDz+sBQsWaPDgwWrXrp3CwsK0b98+ffDBBzpx4oRuueUWrVixwjWFlvcisE2cOFGLFy/W5s2bddVVV1U4x7vR+M2cOVPPP/+8hgwZovj4eNntdu3atUtr166VzWbT/PnzNWXKFFd73ok64O/UiPr1+eefm8OHDzcdDofZtGlTs2/fvubSpUv93S34iPNfQqv6JCUlVWifm5trPvLII2abNm3MJk2amG3atDEfeeQRt//67rR06VKzb9++ZtOmTU2Hw2EOHz7c3Lp1ax1/M3jjfO+F3IzI8m40fp999pk5ceJE87LLLjMjIiLM4OBgs2XLlubw4cPNZcuWmWVlZZWu4b0IXNWNtJkm70Zjl5KSYt5+++1mx44dzfDwcLNJkybmRRddZI4ZM8b8/PPP3V7DO+FbjLQBAAAAgIVRiAQAAAAALIzQBgAAAAAWRmgDAAAAAAsjtAEAAACAhRHaAAAAAMDCCG0AAAAAYGGENgAAAACwMEIbAAAAAFgYoQ0AAB9ISUmRYRgyDMPfXal3ixYtkmEYio+P93dXAKBRIrQBAGrENE397//+r37961+rXbt2atq0qZo3b64OHTro6quv1qOPPqr33ntP+fn5/u5qwJg4cSKhCQAasWB/dwAA0HDk5uZq9OjR2rBhg+tYcHCwmjVrph9//FH/93//p7S0NP3973/XwoULNXHiRP91FgCARoKRNgCAx+666y5t2LBBQUFBeuyxx/T999+rqKhIv/zyi06dOqXt27frz3/+s3r06OHvrgIA0Ggw0gYA8EhmZqZWrVolSZo9e7aefPLJCueDg4PVvXt3de/eXX/84x916tQpf3QTAIBGh5E2AIBHtm3b5vrzTTfddN72TZs2rXTsp59+0htvvKGbb75ZnTt3lsPhUNOmTdWxY0dNmTJF33zzTZX3c67bck65XLRokfr16yeHw6Ho6GgNHTpUGzdudLUvKSnRf//3f6tPnz6KiIiQw+HQiBEjlJ6e7vb+5xYS+fLLL3XrrbcqLi5OoaGh6tixo/7whz8oNzf3vN+9KqWlpVq0aJESExPVqlUrhYSE6IILLlBiYqKWL18u0zRrfe+qnFsk5KuvvtLtt9+uuLg42e12XXzxxXr00Ud17Nixau+zZcsWjR49WjExMWratKkuvfRSPf300zpx4oRH/cjLy9OcOXN05ZVXKioqSna7XW3atNHYsWO1ZcuWSu3ffvtt19/He++95/ae27ZtU2hoqAzD0LPPPutRPwCgQTIBAPDAihUrTEmmJHPt2rW1usfdd9/tuockMyIiwgwODnb9bLfbzXfeeafaa++++27Xn4ODg83w8HDX9cHBweaqVavMwsJCc9iwYaYkMyQkxAwLC3O1adasmfnll19Wuv/69etdbf75z3+aISEhrj46/yzJbNeunZmVlVXt9e4cPnzYvPLKKyt8f4fDUeHnG2+80SwqKqr177Vdu3aVzi1cuNB17h//+IfZpEkT17NtNpvr2V27djWPHz/u9v6vv/56hbYOh8P1O7nsssvMv/3tb1U+3zRNc8uWLWarVq1c1wcFBVX4ezMMw3z22WcrXTd58mRTkhkdHW3++OOPFc6dOHHCvPTSS01J5qBBg8zS0tIa/94AoKEgtAEAPJKVlWUahmFKMi+//HLzu+++q/E9Zs6caU6fPt38+uuvzRMnTpimaZqlpaXmrl27zPHjx5uSzLCwMPPgwYOVrnUGk8jISLNp06bmq6++ap48edI0TdPcvXu32adPH1OSGR8fb/7mN78xo6OjzRUrVpjFxcVmWVmZ+eWXX5odOnQwJZkDBgyodP/yocvhcJiDBg0yMzIyTNM0zdOnT5tvv/22GRUVZUoyr7jiCrOkpKTK689VVFRkXnHFFaYks3fv3uYHH3xgFhQUmKZ5JnwsXrzYbNmypSnJfPjhh2v8e/UktDVr1sy02+3mlClTXAGooKDAnDdvnivIzZgxo9L1X331lStYDxo0yPz2229N0zTN4uJi86233jIjIyPNyMjIKp+flZXlOn/rrbeaX331lXn69GnTNE3zyJEj5owZM1z3f++99ypcW1BQYF522WWmJPPaa6+t8DufNGmSKcls0aKFeeDAgRr/zgCgISG0AQA8du+991YYHenVq5f54IMPmq+//rq5c+dOs6yszKv7jxw50pRkzpo1q9K58qN0S5curXR+z549rlApyfzss88qtfn0009d5/fv31/hXPnQdckll7gCYXkff/yxq82KFSuqvP5c8+bNc41m5efnu/3uX375pWkYhhkSEmIeOXLEbZuqeBLanKOU7jz66KOmJLNjx46Vzt1www3V/k5Wr15dYRTyXLfeeqspybzzzjur7L9zpK5Hjx6Vzm3bts202+2mJHPmzJmmaZrm8uXLK4yKAkBjR2gDAHjs9OnT5owZMypMNyz/admypfnII4+Yhw8frtX9X375ZVOSmZiYWOmcM5i0bdu2ynDYsWNHU5J5zTXXuD1fUlLiCgAffPBBhXPlQ9drr71WZR/79+9vSjJvvvnmKq8/V8+ePU1J5ksvvVTlfU3TNLt162ZKMpcvX15tu3N5GtoyMzPdXr9hwwZXG+cIoGma5rFjx1zTIqv7nfTr18/t83/55RfX9d98802V1+fk5Lie7+7defHFF13TKt98803XtNKHHnqoynsCQGNCIRIAgMeCg4P1pz/9SQcPHtSSJUs0ZcoU9ejRQyEhIZLOFBr5+9//rm7dumnr1q1u77F9+3Y9+OCD6t69uyIiImSz2VwFJx588EFJ0oEDB6rsQ9++fV3FQs7VqlUrSdIVV1zh9nxQUJBiYmIkqdrCG9ddd915z3355ZdVtinv+PHj2rFjhyRpxowZio2NrfLz3XffSZL27dvn0b1rIjo6Wh07dnR7rnXr1q4/l/+9pKenq6ysTJJnv5Nzbd68ucL1VX3vrl27uq5x991/+9vfatSoUSotLdVdd92lvLw8XX755frrX/9azTcGgMaDkv8AgBpzOByaMGGCJkyYIEkqLCxUamqqXnzxRa1atUo5OTm65ZZblJmZqdDQUNd18+bN0+9//3vXf8gbhiGHwyG73S5JOnXqlPLz81VQUFDls8PDw6s8Fxwc7HGb06dPV9nmwgsvPO+5n376qco25R0+fNj1fY8ePerRNSdPnvSoXU148juRKv5eyn/H6n4nF110kdvjhw4dcv35yJEjHvWzqu/+xhtvqE2bNiosLFRQUJDeeuutCu8WADRmjLQBALwWGhqqoUOH6t///rfuvvtuSWdGy1avXu1q8+233+rhhx9WWVmZbrvtNm3dulWFhYU6duyYDh8+rMOHD+tvf/ubJNVJ6Xt/KS0tdf15y5YtMs8sTaj2M3PmTP912Iec371p06YefW/TNDVo0CC393rzzTdVWFjoum9qamp9fQ0A8DtCGwDAp+677z7Xn53T/STpnXfeUWlpqTp37qzly5friiuucE2rdDp8+HC99bM6Bw8ePO+5li1benQv55RNSdq5c6d3Hatn5b+jJ7+Tc8XGxko6M4L6ww8/1Lof6enpmjZtmiSpe/fukqRHHnlEGRkZtb4nADQkhDYAgE81b97c9WfntEdJ2r9/vySpR48estnc/9/PJ598Ured89D69evPe65v374e3SsqKkpdunSRJC1fvtz7ztWj3r17u/6uqvudrFu3zu3x/v37u9Yf1va7FxQUaOzYsSouLtZ1112nrVu3KiEhQadOndLYsWNVVFRUq/sCQENCaAMAeCQrK0vff//9edstXrzY9efevXu7/uxwOCSdGW1yN/3xo48+UkpKivcd9YG//vWvrql45a1fv15paWmSpDvuuMPj+zlHHz/99NPzhhdP173Vh8jISA0bNkxS1b+TTz75RJs2bXJ7fcuWLXXTTTdJkv7yl7+c9/1x991/85vf6Pvvv1eLFi20ZMkS2e12LVu2TOHh4dqxY4cef/zxmn4tAGhwCG0AAI9888036ty5s0aOHKk333xTe/fudZ07ffq0vv76a02aNMm1Li0hIUFXX321q83w4cNd93nooYdc/4FeUFCgV199VbfeeqtatGhRf1+oGtnZ2Ro5cqRremdJSYneeecd3XrrrZLOhNGbb77Z4/tNnTpVV155pSTpzjvv1PTp010jj9KZ4hspKSn6zW9+ow4dOvjwm3hv1qxZCgoK0u7duyv9TlasWKHbb79dkZGRVV7///7f/1OLFi2Un5+vq6++Wm+88Yby8vJc53NycrRy5UrdfPPNGjt2bIVrly9frkWLFkk6U4jEWeWyQ4cOevnllyWdKW7z/vvv+/AbA4AF1esGAwCABqv8JsrOT0hIiBkdHV1hU2tJZu/evc2DBw9WuseYMWMqtIuMjDSDgoJMSWafPn3M//7v/65yvzHnXmRVbRBtmqY5cOBAU5KZlJRUZZt27dqZksyFCxdWOF5+n7V//vOfZpMmTUxJpsPhcO3tpv/sE/d///d/le5b3T5tpmmaP//8s3nddddV+P4RERFmZGRkhd9fcHBwlX2viif7tLk755SVleV6flZWVqXzr776aoU+lv+dXHbZZa7Nsat6Rnp6uhkfH19hY/aoqCizefPmFX4fQ4cOrdCn8+3Hduedd5qSzJiYGLfvGwA0Foy0AQA8kpiYqMzMTP3Xf/2XbrvtNnXu3Fl2u125ublq1qyZOnXqpNtvv13Lly/XF198UWHvL6d//OMfeuGFF9S9e3fZ7XaVlpbq8ssv19y5c5WWllZhPZw/3XTTTdq0aZNuueUWhYaGyjRNtW/fXo899pi2bdum9u3b1/ieMTEx+uSTT/Svf/1Lt956q9q0aaOioiKdOnVKF154oW644QbNmzevwgimVdx3331KS0vTqFGjFB0draKiIrVr107Tpk3T1q1bFRUVVe31vXr1UkZGhubNm6ehQ4cqJiZGx48fV1lZmTp16qRx48Zp+fLlWrlypaQzo3hjx45VXl6eunXrVuV+bC+99JI6duyonJwc3XXXXa6tFQCgsTFMsxHVVQYAoJZSUlI0ePBgSY1rywEAQMPHSBsAAAAAWBihDQAAAAAsjNAGAAAAABZGaAMAAAAAC6MQCQAAAABYGCNtAAAAAGBhhDYAAAAAsDBCGwAAAABYGKENAAAAACyM0AYAAAAAFkZoAwAAAAALI7QBAAAAgIUR2gAAAADAwghtAAAAAGBh/x83NMhZ5UCSWQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Using k-Distance to find potential values of e\n",
    "min_pts = 3\n",
    "\n",
    "# k-Distance\n",
    "k_distance = np.sort(np.sort(distance_map, axis=1)[:, min_pts])[::-1]\n",
    "\n",
    "# Draw k-Distance figure\n",
    "fig, ax = plt.subplots(figsize=(10,6))\n",
    "ax.plot(np.arange(1, len(k_distance)+1), k_distance, marker='o', linestyle='-', color='tab:blue')\n",
    "ax.set_xlabel('Sample Index', fontsize=label_size)\n",
    "ax.set_ylabel('k-Distance', fontsize=label_size)\n",
    "ax.tick_params(axis='both', which='major', labelsize=ticklabel_size) # Set tick label size\n",
    "# plt.savefig(f'rate_dbscan_kdistance.png', dpi=300)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "QNqkoRaCy80z"
   },
   "source": [
    "令eps为0.25进行密度聚类，获取主要受众群体"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 902
    },
    "id": "AOOxlGcUjNkd",
    "outputId": "24bd1254-b437-48cc-9cae-120ae3f3628b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Biggest cluster label: 0\n"
     ]
    },
    {
     "data": {
      "image/png": "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g/xeTk6OaGlpSdmytIpVh1jB0tiXkjpHO2akMsOVq6YcI9tS63VTe95a2sQsSs450n0T77rqpTQ2kIQQAimgrKwMXq8X11133bjPDj/8cCxcuFBxWTt27EBBQQEGBga4jhMREdEE43a7UV1dDSEE/H5/xO0sFgskScK6detQVVWVUmVppbQOakWrs55jBpcLQHU5RrSl1uuWiLY2ilF1j0ddjaA0NkipwAkAOjs7dZfFwImIiGhi8nq9KCkpwfDwsKIHPovFAqvViq6uLhQWFqZEWVqprYNa4epsxDEtFguys7MhSZKmcvS0pdbr9sknn+CAAw6Ia1sbxej7xMy6GkVpbMCsekRERDRhNDQ0wOfzKX7g8/v98Pl8aGxsTJmytFJbB7XC1dmIY8rl7ty5U1M5etpS63Wrr6+Pe1sbxej7xMy6xltK9Tjt3r0b9957L7q7uzFlyhQce+yxOPjgg1WXxR4nIiKiiUcIgcrKSrS3t0PN440kSaioqEBra2tIRrlkLEsrrXVQK7jOAOJyTLX1UtqWetosPT0de/fujVtbG5XBzqz7xIy6GmlCDtXbuHHjuPdPO+00PPHEE5g6dWrEfXfv3o3du3cH/r1jxw7MmTOHgRMREdEE4vF4UFxcrGt/OTV2spalpww9ddByPCFEXI+phJq2jHebaWXE/RFclpnnbGRdjTThhupddtlleP3119HT04MdO3bgH//4B04//XS0tLTgrLPOihoVr169GgUFBYHXnDlz4lhzIiIiioehoSFd+w8ODiZ9WVrprYNag4ODcT+mEmraMhnrH44R94fM7HM2sq6JkDKB0/Lly3HCCSdg6tSpyMvLw1FHHYUXXngBxx13HN566y2sX78+4r633HILBgYGAq9NmzbFseZEREQUD/LirFrl5eUlfVla6a2DWnl5eXE/phJq2jIZ6x+OEfeHzOxzNrKuiZAygVM4FosFl156KQDgb3/7W8TtsrKykJ+fH/IiIiKiicVut8PhcKieQyFJEhwOB4qKipK+LK201kGt4DrH65hq66WUnvqnp6fHta2NYtY1M6OuiZDSgROAwNwmn8+X4JoQERFRIkmShGXLlmnat66uLuRhMVnL0kpPHdSS6xzPYyqhti211l+SJJx55pmq99PCqPtDZuY1M7quiZAyySEiue2227Bq1So88MADYRfHDYdZ9YiI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ePTRR/HSSy/B7/eHrOn03HPPobq6GpmZmYZV2AjscSIimrwmyhAtr9cbNitfMi/CmqxSsS21JHvQSl6PKRXbiUgJU4fqffrpp3j00Ufxm9/8JmTy4THHHIPa2losXboUkiRhcHAQNptN+1mYhIETEdHkpWUR0GReFJZzloyTSm0Zj8VsI2XHS6V2IlLC8MBpaGgITz75JB599FG8/fbbAPZ9cUpLS3HRRRehtrYW8+bNA/DVGFcGTkRElEwmYxpqmni03sdqJfMPBkRGUhobKF4Ad8aMGYExtLm5uaipqUFtbS1OPPFEI+pLRERkut7e3pAhRkoJIdDW1oa+vj7Y7XYTakaknNb7WA15iOqSJUtMPQ5RKlEcOPl8PkiShLq6OqxevRpWq9XMehERERluaGhI1/6Dg4MMnFKEEAK9vb0YGhpCbm5u1DWyElmmFnrvY0mSovZUySOHmpubk2peH1GiqcqqJ4TA2rVrccQRR+B///d/sXnzZrPqRUREZLjc3Fxd++fl5RlUEzKL1+uFy+VCZWUliouLUV5ejuLiYlRWVsLlcsHr9SZFmXrovY+zs7Njfs7seETjKQ6cPv30U1x//fUoLi7Gp59+iptvvhmlpaWoqqrC7373O92pLomIiMxmt9vhcDhU9xJIkgSHw4GioiKTakZGcLvdKCkpQX19Pdrb20M+a29vR319PUpKSlSllzejTL303MczZ86ExRL98S9WjxTRZKU4cNp///3xf//3f+jq6sJzzz2H0047DQDw8ssv4+KLL8b06dNx2WWX4bXXXjOtskRERHpIkoRly5Zp2reuro6JIZKYGWtzJet6X1rvYyEEtm7dGvPH7mRcv4woGehax2nz5s349a9/jccffxxtbW2B/6EIISBJEt555x1885vfNKyyRmFWPSKiyWuirONEXzHjmib7faK2fnIvksViScrzIUokpbGBqjlOY82aNQu33XYbWltb8ec//xkXXHBBYNysEAKHH344DjjgANx111349NNP9RyKiIjIEIWFhWhqaoIkSTGHLHGSfGpoaGiAz+dTvBCs3++Hz+dDY2NjXMs0ktr7GNgXPCXr+RClAl09TuHs2LEDv/3tb/HYY4/h3Xff3XeQ//ZEff3rX8dHH31k5OE0YY8TERG53W7U1NTA5/MBQMgwLPn/WzabDc3NzQmbJJ8sWdyMZuR5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kCRt27bNv8f269FaIfcc7rruYzpx4oQKCwuZ5w2gWaiurtb06dO1ePFiTZo0SUuXLlVICP+bh3+5CyO5iycB3vj000/11VdfqX379jUeUrps2TJJ8pQnf+ONN4LbUbQK7nubXC6XX4/LPU42hg4dqqefflrvvfeeJk6cWGPde++959kGAIKpurpad955p5YsWaIJEyZoxYoV3NeEgDhy5IgkKjWicaZPn17n8q1bt2rPnj26/vrrlZKS4nkuD+CLjz/+WJL8/n7i/3o2Ro4cqbS0NL3yyiuaNWuWfvzjH0s6+xDAJ598UmFhYTy0FEBQuUeali5dqvHjx2vlypWEJvjkk08+Ua9evWpNRT9+/Lh+9atfSZKuu+66YHQNLdTChQvrXH777bdrz549evjhh3kALhpl9+7d6tq1q+Lj42ss/+CDD/T8888rIiJCN954o1/bJDjZCAsL08KFC5WRkaEhQ4Zo0qRJio2N1bp167R//37NnTtXffv2DXY30cIsXLhQH3zwgSR5Hky6cOFCz9SXcePGady4cUHqHVqa3/zmN1q6dKmio6PVt29fzZ07t9Y248aN8/zhB7CzdOlSLVy4UMOHD1fPnj3VoUMHHThwQNnZ2SorK1NmZqZuueWWYHcTQBu2evVqPfvssxo5cqRSU1MVERGhL774Qu+9955CQkL04osv6oILLvBrmwQnLwwfPlwffPCBHnvsMa1evVpnzpxR//799eSTT+rWW28NdvfQAn3wwQeeed1u27Zt89zEmJqaSnCC13JzcyVJZWVleuqpp+rcJjU1leAEr910000qLi7WRx99pK1bt8rlcikxMVFXXXWVpkyZookTJ/q1xC8ANNbw4cP15ZdfateuXdqyZYtOnz6tTp06acKECZo9e7YGDhzo9zYtY4zx+1EBAAAAoBWh3BIAAAAA2CA4AQAAAIANghMAAAAA2CA4AQAAAIANghMAAAAA2CA4AQAAAIANghMAAAAA2CA4AQAAAIANghMAAAAA2CA4AQDQQlVVVen555/XpZdeqg4dOsiyLFmWpTfeeCPYXfOL22+/XZZl6fbbbw92VwBAYcHuAAA0hRMnTqhLly4qLy+XJH3zzTfq06dPkHuFYMnNzdXSpUslSY8//nhQ++KL++67TwsWLJAkhYeHq1OnTpKk9u3bOzrel19+qYsuukiSFBUVpe+++06xsbH+6ew5Nm/erM2bNys1NZVQBKDFYMQJQJvwv//7v57QJEmLFy8OYm8QbLm5uXriiSf0xBNPBLsrjpWWluqll16SJD377LM6ffq08vPzlZ+fr9GjRzs65qJFizxfu1wuvfrqq37p6/k2b96sJ554whNe69OlSxf94Ac/UJcuXQLSDwBoDIITgDbB/YFw5syZkqRly5apqqoqmF0CfPLVV1+poqJCkjRjxgxZluXT8SoqKrRixQpJ//w9OTdIBcPTTz+tr776Sk8//XRQ+wEAEsEJQBuwa9cuffLJJ4qPj9ezzz6rtLQ0fffdd/rTn/4U7K4BjrlcLs/X0dHRPh/v7bff1tGjR3XhhRfq6aefVnR0tHbs2KEvvvjC52MDQGtAcALQ6rn/aj5hwgS1b99ekydPrrH8XM8//7wsy1KnTp1UWVlZ7zGNMerZs6csy9LcuXNrra+qqtLSpUuVkZGhTp06KTw8XCkpKcrIyNCqVatkjKnzuKmpqbIsS0uXLlVZWZkeffRR/fCHP1RMTIwsy1Jubq6ks6MD77//vmbNmqUBAwaoS5cuCg8PV8eOHZWRkaFXX3213jbcDhw4oOnTp6t79+6KiIhQ9+7ddccdd+jbb79Vbm6up9CAu01/naOdQF+D1NRUDR8+3PO9+zzdr7ruuTl9+rReeOEFDR06VMnJyQoPD1fnzp01btw4/fnPf3Z0nm5VVVVavHixRowYoeTkZEVERKhbt24aP368Nm/eXGv7pUuXyrIsDRs2rM5zOHd5Y7h/H6ZOnaoOHTooMzOzxvKGVFdXa/Xq1Ro3bpy6deumiIgIpaSk6LLLLtNDDz3kCV/u95V7iuSWLVtqXf9zp+95Uxxi8+bNGj9+vKfd5ORkjRw5UkuWLKl3VPnxxx+vca02bNigMWPGKCUlRe3bt1e/fv30xBNP6PTp07bnDqANMQDQip06dcrEx8cbSWbbtm3GGGP27t1rLMsyYWFhJj8/v8b2+fn5JjQ01Egy77zzTr3H3bx5s5FkLMsy+/fvr3WMQYMGGUmeV1xcXI3vr7/+elNeXl7ruD179jSSzH/913+Zvn37GkkmPDzccw7utjZt2lTjeBERESY6OrrGsvHjx5uqqqo6+//hhx+amJgYz7aRkZGe/WNjY83q1as9684/P1/P0U6gr8GAAQNMQkKCZ5tOnTrVeM2aNavG9t98843p06ePZ3vLsmqd64wZMxp9nsYYU1RUZIYNG+Y5TmhoqImPjzeWZXmWPfDAAzX2WbVqlenUqVO95/Czn/2s0f3Iy8szoaGhJiQkxBw6dMgYY8zGjRuNJJOcnNzgz7GgoMBcffXVtd4L7dq183x/ww03GGOMOXjwoOnUqZPp0KGDkWTatWtX6/qvWrXKc+ypU6caSWbq1Kl1tj179uwaP5f4+HjP768kM2LECFNSUlJrv8cee8xIMkOHDjXPPvussSzLs/+513748OGmsrKy0dcTQOtEcALQqq1cudJIMr17966xfMiQIUaSee6552rtc9111xlJZsKECfUed/r06UaSufrqq2ssLy8vN5dffrmRZP7lX/7FZGdnm5MnTxpjjCkrKzPLli0zHTt2NJLMfffdV+u47tAQHR1tOnfubNatW2fOnDljjDHm0KFDnmN99NFH5pZbbjHZ2dkmPz/fVFdXG2OMOXbsmJk3b56JjY01ksy8efNqtXHixAnTpUsXI8mkpaWZjRs3evb/61//ai655JIaH8rPD06+nqOdprgG54auhpw4ccKkpqZ6PoRv3brVnD592hhzNvQ8//zznrCWlZXV6HPNzMz0BMMXXnjBc27fffedmTZtmqePf/jDHxyfgzfmzp1rJJmRI0d6llVXV3t+Fq+//nqd+1VUVJgrr7zSE1yfeeYZc/ToUWOMMZWVlWb//v3mpZdeMg8//HCN/c4NLg1pKDjNnz/fc/4///nPzXfffWeMOfse/J//+R8TFhZW7++xu/34+HgTEhJiHn74YVNQUGCMMaa4uNg8+uijnmMvWrSowT4CaDsITgBateHDhxtJ5je/+U2N5X/84x+NJHPhhRfW2ufVV181kkz79u1NUVFRrfWnTp3yjDgsXLiwxroFCxYYSaZ///51/qXbGGN27txpLMsy4eHh5vvvv6+xzv1BNTQ01Ozatauxp+vx+uuvG0kmPT291ronn3zSc3579uyptb6goMAkJyfXG5x8PUc7TXENvA0dDzzwgCc0VVRU1LnNunXrPCMz9W1Tl48//tjTh5deeqnObdzBKjk52Zw6dcrROdiprq426enpRpJZvnx5jXW//vWvjSQzevToOvdduHChZ7QnOzvb6zZ9DU4ul8skJiYaSWbSpEl17vvCCy94rs+OHTvqbF+Seeyxx+rc/8YbbzSS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nTpVQ4YMadQ5DBw4UJmZmZKkmTNnasGCBZ7iEvn5+brrrrv0+uuvS5KefPJJtW/fvlHHb0h5ebn+93//V5J08803224fERGh66+/XlLNPzBMnjxZV111lYwxyszM1HPPPafCwkJJZ0d8cnNz9T//8z968MEHaxzv4osvliT94x//8Ey5bIzIyEhPYHr11Vd1zz33eAqBuFwuzZ8/X/fdd58kacKECbrssssa3QYA1BLIWucA0NS2b9/ueb7L22+/7dU+n332mWefN954o8a6wsJCEx4e7lkfEhJi8vLyGjxeQUGBGTFihGcfSSY2NtbEx8cby7I8y8LCwmrt636G0ZIlSxps4+233zZhYWGeY0VFRZmoqCjP1+vXr/es27RpU639//KXv5jo6Oga+7u/j4+P9zw8VpL57rvv/HqOdprqGkyfPr3GvhdccIHp2bOnuf/++2tst2/fPnPJJZfUONf4+HjPs5vcr969ezf6XIuKiszQoUNrXK+EhIQa1/CBBx6oc19fnuPkfsizJPP55597tc9bb73l2eeTTz7xLC8oKDBDhgzxrLMsy8THx5t27dp5lt1www01jlVRUWF+8IMfeNYnJCSYnj17mp49e5rXX3/ds119z3Fycz8Ly91uQkJCjffE8OHD63xIszfPkfLXc7IAtB6MOAFoVdzTj+Li4mpVvavPD3/4Q/Xr16/G/m5JSUn66U9/6vl+5MiRtiWQk5OTtX79er355pu66aab1KNHD5WXl+vUqVPq1q2brrvuOi1YsMCnG+rHjh2rrVu3asyYMYqPj1dlZaWSk5N1xx13aNeuXRo5cmSD+1911VX67LPPdMcdd6hr166qrKxUfHy8pk2bpl27dtUYKYqPjw/KOdrx9Rr87ne/0+OPP+4Z/Th48KAOHDjgGTFx69Wrl3bu3Knly5dr7Nix6tKli06ePKkzZ86oV69e+tnPfqbFixdr+/btjT6HuLg4bdiwQYsWLdKwYcMUExOjsrIyde7cWZmZmdq0aZOee+65Rh/Xjvt93q9fP8/528nIyPBMkTz39yQ5OVmbN2/WypUrdd111yklJUUnT55UQkKCLrvsMj300EP67W9/W+NYYWFh2rBhg+68806lpqbq5MmTOnDggA4cOOB5JpY3nn/+eW3cuFGZmZnq1KmTysrKFBMTo+HDh2vx4sV6//33Gyw5DgCNYRnj8M5MAECr9cc//lE///nPlZaWpr179wa7OwAABB0jTgCAGk6fPq2srCxJ8jzrCgCAto7gBABt0KpVq/TII4/oiy++0JkzZyRJlZWV2rp1q0aMGKHdu3erffv2+sUvfhHkngIA0DyE2W8CAGht8vPz9dRTT+mpp56SZVlKSEhQWVmZJ0SFh4dryZIl6tu3b5B7CgBA80BwAoA2aOzYsSooKNDmzZs9BRHatWuntLQ0DR8+XPfddx+hCQCAc1AcAgAAAABscI8TAAAAANggOAEAAACADYITAAAAANggOAEAAACADYITAAAAANggOAEAAACADYITAAAAANggOAEAAACAjf8PijKhCK7FQ5IAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x1000 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.cluster import DBSCAN\n",
    "\n",
    "eps = 0.25\n",
    "\n",
    "# Define DBSCAN clustering model\n",
    "mdl_dbscan = DBSCAN(eps=eps, min_samples=min_pts)\n",
    "\n",
    "# Train k-Means model\n",
    "mdl_dbscan.fit(x)\n",
    "\n",
    "labels_dbscan = mdl_dbscan.labels_\n",
    "\n",
    "# Get the biggest cluster from labels_dbscan\n",
    "# Filter out noise points (labels = -1) before using np.bincount()\n",
    "biggest_cluster_label = np.argmax(np.bincount(labels_dbscan[labels_dbscan != -1]))\n",
    "print(f'Biggest cluster label: {biggest_cluster_label}')\n",
    "\n",
    "# Plot scatter of average rates\n",
    "fig, ax = plt.subplots(figsize=(10,10))\n",
    "\n",
    "# Draw noise points\n",
    "point_idx = (labels_dbscan == biggest_cluster_label)\n",
    "ax.scatter(x[point_idx,0], x[point_idx,1], marker=\"o\", c=\"k\", s=10**2, edgecolor=\"k\", zorder=0)\n",
    "\n",
    "ax.tick_params(axis='both', which='major', labelsize=ticklabel_size) # Set tick label size\n",
    "ax.set_xlabel(f'Average rate of {genres_1}', fontsize=label_size)\n",
    "ax.set_ylabel(f'Average rate of {genres_2}', fontsize=label_size)\n",
    "ax.set_xlim([-0.1, 5.1])\n",
    "ax.set_ylim([-0.1, 5.1])\n",
    "ax.set_title(f'DBSCAN clustering {biggest_cluster_label}, eps = {eps}', fontsize=label_size)\n",
    "ax.tick_params(axis='both', which='major', labelsize=ticklabel_size) # Set tick label size\n",
    "# plt.savefig(f'rate_dbscan_cluster_{biggest_cluster_label}.png', dpi=300) # Make figure clearer\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 使用协同过滤对主要群体做个性化推荐"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "50e__pyHmuKT"
   },
   "source": [
    "根据聚类结果以最大类（主要群体）构建新数据集user_movie_rate_table"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of users: 486\n",
      "Number of watched movies: 8867\n",
      "Number of filtered movies: 2106\n",
      "Number of selected movies: 450\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userId</th>\n",
       "      <th>movieId</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>title</th>\n",
       "      <th>genres</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>647</td>\n",
       "      <td>0.5</td>\n",
       "      <td>1306463619</td>\n",
       "      <td>Courage Under Fire (1996)</td>\n",
       "      <td>Action|Crime|Drama|War</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>688</td>\n",
       "      <td>0.5</td>\n",
       "      <td>1306464228</td>\n",
       "      <td>Operation Dumbo Drop (1995)</td>\n",
       "      <td>Action|Adventure|Comedy|War</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>720</td>\n",
       "      <td>0.5</td>\n",
       "      <td>1306463595</td>\n",
       "      <td>Wallace &amp; Gromit: The Best of Aardman Animatio...</td>\n",
       "      <td>Adventure|Animation|Comedy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>849</td>\n",
       "      <td>5.0</td>\n",
       "      <td>1306463611</td>\n",
       "      <td>Escape from L.A. (1996)</td>\n",
       "      <td>Action|Adventure|Sci-Fi|Thriller</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>1275</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1306463323</td>\n",
       "      <td>Highlander (1986)</td>\n",
       "      <td>Action|Adventure|Fantasy</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   userId  movieId  rating   timestamp  \\\n",
       "0       3      647     0.5  1306463619   \n",
       "1       3      688     0.5  1306464228   \n",
       "2       3      720     0.5  1306463595   \n",
       "3       3      849     5.0  1306463611   \n",
       "4       3     1275     3.5  1306463323   \n",
       "\n",
       "                                               title  \\\n",
       "0                          Courage Under Fire (1996)   \n",
       "1                        Operation Dumbo Drop (1995)   \n",
       "2  Wallace & Gromit: The Best of Aardman Animatio...   \n",
       "3                            Escape from L.A. (1996)   \n",
       "4                                  Highlander (1986)   \n",
       "\n",
       "                             genres  \n",
       "0            Action|Crime|Drama|War  \n",
       "1       Action|Adventure|Comedy|War  \n",
       "2        Adventure|Animation|Comedy  \n",
       "3  Action|Adventure|Sci-Fi|Thriller  \n",
       "4          Action|Adventure|Fantasy  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get rate of users in cluster biggest_cluster_label\n",
    "user_ratings = ratings[ratings['userId'].isin(idx_both[labels_dbscan == biggest_cluster_label])]\n",
    "print('Number of users:', len(user_ratings['userId'].unique()))\n",
    "\n",
    "# Get list of movies which have been watched by users in user_ratings\n",
    "watched_movies = user_ratings['movieId'].unique()\n",
    "print('Number of watched movies:', len(watched_movies))\n",
    "\n",
    "# Filter out movies which are not genres_1 nor genres_2 from watched_movies\n",
    "filtered_movies = movies[movies['movieId'].isin(watched_movies) & \n",
    "                         (movies['genres'].str.contains(genres_1) | \n",
    "                          movies['genres'].str.contains(genres_2))]\n",
    "print('Number of filtered movies:', len(filtered_movies))\n",
    "\n",
    "# Only select 450 movies just to reduce computation time\n",
    "filtered_movies = filtered_movies.head(450)\n",
    "print('Number of selected movies:', len(filtered_movies))\n",
    "\n",
    "# Union rates and filtered_movies tables by 'movieId'\n",
    "user_movie_rate_table = pd.merge(user_ratings, filtered_movies, on='movieId')\n",
    "user_movie_rate_table.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由user_movie_rate_table生成用户相似度表user_movie_rate_array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "User number is 476\n",
      "Movie number is 450\n",
      "Shape of user_movie_rate_array: (476, 450)\n"
     ]
    }
   ],
   "source": [
    "# Get userID list\n",
    "user_list = user_movie_rate_table['userId'].unique()\n",
    "print(f'User number is {len(user_list)}')\n",
    "\n",
    "# Get movieID list\n",
    "movie_list = user_movie_rate_table['movieId'].unique()\n",
    "print(f'Movie number is {len(movie_list)}')\n",
    "\n",
    "# Generate user_movie_rate_array\n",
    "# Create a 2D array to store user-movie ratings\n",
    "user_movie_rate_array = np.zeros((len(user_list), len(movie_list)))\n",
    "\n",
    "# Fill the array with ratings\n",
    "for index, row in user_movie_rate_table.iterrows():\n",
    "    user_index = np.where(user_list == row['userId'])[0][0]\n",
    "    movie_index = np.where(movie_list == row['movieId'])[0][0]\n",
    "    \n",
    "    user_movie_rate_array[user_index, movie_index] = row['rating']\n",
    "\n",
    "print(f\"Shape of user_movie_rate_array: {user_movie_rate_array.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用热力图展示user_movie_rate_array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'seaborn'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[22], line 2\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mplt\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mseaborn\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01msns\u001b[39;00m\n\u001b[0;32m      4\u001b[0m \u001b[38;5;66;03m# Set up the plot\u001b[39;00m\n\u001b[0;32m      5\u001b[0m plt\u001b[38;5;241m.\u001b[39mfigure(figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m10\u001b[39m, \u001b[38;5;241m5\u001b[39m))\n",
      "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'seaborn'"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "# Set up the plot\n",
    "plt.figure(figsize=(10, 5))\n",
    "\n",
    "# Create the heatmap\n",
    "sns.heatmap(user_movie_rate_array, cmap='coolwarm', xticklabels=False, yticklabels=False)\n",
    "\n",
    "# Set title and labels\n",
    "plt.xlabel('Movies')\n",
    "plt.ylabel('Users')\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "记录所有未评分的电影"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(476, 450)\n",
      "Number of users with unrated user-movies: 199863\n"
     ]
    }
   ],
   "source": [
    "# Create a dictionary to store unrated movies for each user\n",
    "unrated_movies = {}\n",
    "unrated_movies_count = 0\n",
    "print(user_movie_rate_array.shape)\n",
    "# Iterate through each user\n",
    "for user_idx, user_ratings in enumerate(user_movie_rate_array):\n",
    "    # Find indices of unrated movies (where rating is 0)\n",
    "    unrated_indices = np.where(user_ratings < 0.1)[0]\n",
    "    \n",
    "    # Store the unrated movie IDs for this user\n",
    "    # Keys and values are the index of user_movie_rate_array\n",
    "    unrated_movies[user_idx] = unrated_indices\n",
    "    \n",
    "    if  isinstance(unrated_indices, int):        \n",
    "        unrated_movies_count += 1\n",
    "    else:\n",
    "        unrated_movies_count += unrated_indices.size\n",
    "\n",
    "print(f\"Number of users with unrated user-movies: {unrated_movies_count}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用余弦相似度，由user_movie_rate_array生成sim_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Size of sim_matrix is: (476, 476)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics.pairwise import cosine_similarity\n",
    "\n",
    "# Compute cosine similarity matrix\n",
    "sim_matrix = cosine_similarity(user_movie_rate_array)\n",
    "print(f\"Size of sim_matrix is: {sim_matrix.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用sim_matrix预测电影评分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Function to predict ratings for unrated movies\n",
    "def predict_ratings(user_idx, unrated_indices, sim_matrix, user_movie_rate_array, k=10):\n",
    "    # Get the similarity scores for the current user\n",
    "    user_similarities = sim_matrix[user_idx]\n",
    "    \n",
    "    # Sort similarities in descending order and get top k similar users\n",
    "    similar_users = np.argsort(user_similarities)[::-1][1:k+1]\n",
    "    \n",
    "    predicted_ratings = []\n",
    "    \n",
    "    for movie_idx in unrated_indices:\n",
    "        # Get ratings of similar users for this movie\n",
    "        similar_user_ratings = user_movie_rate_array[similar_users, movie_idx]\n",
    "        \n",
    "        # Filter out users who haven't rated this movie\n",
    "        valid_ratings = similar_user_ratings[similar_user_ratings > 0]\n",
    "        valid_similarities = user_similarities[similar_users][similar_user_ratings > 0]\n",
    "        \n",
    "        if len(valid_ratings) > 0:\n",
    "            # Weighted average of ratings\n",
    "            predicted_rating = np.sum(valid_ratings * valid_similarities) / np.sum(valid_similarities)\n",
    "        else:\n",
    "            # If no similar user has rated this movie, use the global mean rating\n",
    "            predicted_rating = np.mean(user_movie_rate_array[user_movie_rate_array > 0])\n",
    "        \n",
    "        predicted_ratings.append(predicted_rating)\n",
    "    \n",
    "    return predicted_ratings\n",
    "\n",
    "# Predict ratings for all users\n",
    "predicted_ratings = {}\n",
    "for user_idx, unrated_indices in unrated_movies.items():\n",
    "    predicted_ratings[user_idx] = predict_ratings(user_idx, unrated_indices, sim_matrix, user_movie_rate_array)\n",
    "\n",
    "# Print some statistics\n",
    "total_predictions = sum(len(ratings) for ratings in predicted_ratings.values())\n",
    "print(f\"Total number of predictions made: {total_predictions}\")\n",
    "print(f\"Average predicted rating: {np.mean([rating for user_ratings in predicted_ratings.values() for rating in user_ratings]):.2f}\")\n",
    "\n",
    "# Update user_movie_rate_array with predicted ratings\n",
    "for user_idx, user_predictions in predicted_ratings.items():\n",
    "    user_movie_rate_array[user_idx, unrated_movies[user_idx]] = user_predictions\n",
    "\n",
    "print(\"Updated user_movie_rate_array with predicted ratings.\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set up the plot\n",
    "plt.figure(figsize=(10, 5))\n",
    "\n",
    "# Create the heatmap\n",
    "sns.heatmap(user_movie_rate_array, cmap='coolwarm', xticklabels=False, yticklabels=False)\n",
    "\n",
    "# Set title and labels\n",
    "plt.xlabel('Movies')\n",
    "plt.ylabel('Users')\n",
    "\n",
    "# Show the plot\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "authorship_tag": "ABX9TyO+9EvQyLwzW6sRWnzqnjPu",
   "collapsed_sections": [
    "c-Xj4WtjPdwD"
   ],
   "include_colab_link": true,
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
